对从事web开发的朋友来讲,低版本的IE永远是一个痛点,不支持最新技术(如css3,html5)。

在现在web开发中使用图标字体已经很广泛,如Font Awesome,Bootstrap等,字体图片主要是通过css选择器before,after结合content来实现,但是在低版本的IE6/IE7/IE8中并不支持,下面就来探讨一下如何解决IE6/IE7/IE8不支持before,after问题。

先来看一个例子

这里重点演示IE6中效果,因为只要IE6实现的效果,更高版本的IE一般都可以实现。

  1. <style type="text/css">
  2. p:before {
  3. content: "before";
  4. }
  5. p:after {
  6. content: "after";
  7. }
  8. </style>
  9. <p> devdo </p>

在chrome,firefox,opera中的显示结果为

在IE6中显示结果为

从上面的例子看出,IE6并不支持before、after,那么要如何让IE6支持呢,通常的方法是通过脚本来实现,jquery.pseudo.js就是用于解决IE6不支持before、after的一个方法。

使用方法

一、引入jquery,引用jquery.pseudo.js

  1. <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
  2. <script type="text/javascript" src="jquery.pseudo.js"></script>

二、修改css

在你需要使用的html标签中加入before,after属性。

如通常p:before{content: “before”;},要在p标签中加入{before: ‘before';after: “after”;},如不明白请看下面示例代码。

  1. p:before,p {
  2. content: "before";
  3. before: 'before';
  4. }
  5. p:after,p {
  6. content: "after";
  7. after: "after";
  8. }
  9. <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
  10. <script type="text/javascript" src="jquery.pseudo.js"></script>
  11. <p> devdo </p>

在chrome,firefox,opera中的显示结果为

在IE6中显示结果为

在IE6中的before,after已经显示出来,但是其中before后的空格没有体现出来,这个你可以通过before: “before “;后面加个空格来处理。

现在IE6已经实现before,after已经实现效果,有些同学就要问了,那图标字体呢,如何实现。

我们就拿大名鼎鼎的font-awesome来举例。

一般情况你只需要把font-awesome的类插入css中即可实现,但是对IE6这种奇葩,我们要多走一步。

通过chrome,firefox等浏览器的审核元素功能,查找图标字体的content值,如下图。

我这里是微博图标,content值是”\f18a”,把需要使用的标签中加入before:”\f18a”,如下面i标签p i{before:”\f18a”;},全部示例看下面代码。

  1. <style type="text/css">
  2. body{padding:30px;}
  3. p i{before:"\f18a";}
  4. </style>
  5. <link rel="stylesheet" href="font-awesome-4.3.0/css/font-awesome.min.css">
  6. <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
  7. <script type="text/javascript" src="jquery.pseudo.js"></script>
  8. <p> devdo <i class="fa fa-weibo"></i></p>

在chrome,firefox,opera中的显示结果为

在IE6中显示结果为

现在IE6的图标字体也实现了,更多功能等你发现。

解决IE6/IE7/IE8不支持before,after问题的更多相关文章

  1. 让IE6/IE7/IE8浏览器支持CSS3属性

    让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...

  2. 如何让低版本的IE浏览器(IE6/IE7/IE8)支持HTML5 header等新标签

    html5提供的一些新标签(article,aside,dialog,footer,header,section,footer,nav,figure,menu)使用起来非常的方便,但是低版本的IE浏览 ...

  3. IE(IE6/IE7/IE8)支持HTML5标签

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  4. IE(IE6/IE7/IE8)支持HTML5标签--20150216

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  5. (转)让IE6/IE7/IE8浏览器支持CSS3属性

    原文链接 http://blog.csdn.net/h5_queenstyle12/article/details/50437442 一.下载 搜索下载:ie-css3.htc,它是让IE浏览器支持C ...

  6. 让IE6/IE7/IE8支持CSS3属性的8种方法介绍

    我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...

  7. 让IE6/IE7/IE8支持HTML5标签的js代码

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  8. CSS兼容IE6 IE7 IE8 IE9 Firefox的总结

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法--(转)

    如有雷同,不胜荣幸,若转载,请注明 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了boot ...

随机推荐

  1. C# webBrowser控件禁用alert,confirm之类的弹窗解决方案

    同样的代码,我尝试了很多次都没有成功.最后终于成功了,是因为我没有在正确的事件里面调用这段代码. private void InjectAlertBlocker() { HtmlElement hea ...

  2. B+Tree和MySQL索引分析

    首先区分两组概念: 稠密索引,稀疏索引: 聚簇索引,非聚簇索引: btree和mysql的分析: 参见 http://blog.csdn.net/hguisu/article/details/7786 ...

  3. 在input中放对象

    var input = $("<input type='hidden' class='hidden-user'/>"); $(input).data("ran ...

  4. 第三天--html区块

    <!Doctype html><html>    <head>        <meta charset="utf-8">      ...

  5. vim 使用技巧记录

    vim 使用技巧记录 1.批量注释与取消注释 命令格式:起始行号,结束行号s#^#//#g 例如: 注释代码3到15行,"//"可以是其他的"" :3,15s# ...

  6. 建表and新增删除数据A

    SELECT*FROM 表名:查询表 新建数据库: select 文件名(可以很多被查询的文件名)from 文件名 创建student表  CREATE TABLE `student`  ( `id` ...

  7. SVN需要忽略的文件类型

    自己在用的,有问题的话欢迎指正,直接复制粘贴即可.(一般人我都不告诉他) *.lo,*.la,*.al,*.so,*.so.[0-9]*,*.pyc,*.pyo,*.rej,.*.swp,.DS_St ...

  8. 用python实现一个不排序的列表功能

    #!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving with Algorithms and Da ...

  9. “Operation is not valid due to the current state of the object.”

    将Repeater单页显示的2000条数据一次性提交的时候出现这个错误: Operation is not valid due to the current state of the object. ...

  10. Linux 线程管理

    解析1 LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait()函数.但这个函数的执行过程比较难于理解. pthread_cond_wait()的工 ...