兼容系列-IE678的兼容

1. 最简单的CSS Hack 区分 IE6 、 IE7 、IE8

css
.color{
    background-color: #CC00FF; /*所有浏览器都会显示为紫色*/
    background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
    *background-color: #0066FF; /*IE6、IE7会变为蓝色*/
    _background-color: #009933; /*IE6会变为绿色*/
}

上面的样式解释为顺序是 ff、ie8、ie7、ie6显示的结果:
用 FF 浏览, 颜色是紫色
用 IE8 浏览,颜色是红色
用 IE7 浏览,颜色是蓝色
用 IE6 浏览,颜色是绿色

2.IE678支持伪元素

伪元素::after和::before在IE8及以下不支持

兼容IE8可以识别写法 :after 和 :before

兼容IE6/7则需要引入jq插件:jquery.pseudo.js
使用方法:
1、引入jquery
2、引入jquery.pseudo.js
3、添加css,如p{before: "before ";}

代码示例:
图片描述

3.a标签嵌套img有边框

html代码:
图片描述

4.兼容HTML5新标签

第一种方法:使用javascript代码

第二种方法:使用html5shiv



//由于国内google的服务器访问卡,建议调用国内的cdn

5.兼容video audio标签

第一方法:在页面的head部分加入如下脚本
(注:需要在服务器下打开)

    

第二方法:使用谷歌的脚本html5media文件


6.兼容css3选择器

使用关键方法:(官网插件http://selectivizr.com/



  1. css样式不能直接写在head头部,需要通过link来引入外部样式
  2. 使用该插件前需要引入JS类库,如jQuery
  3. 需要运行在服务器下才有效

图片描述

7.兼容placeholder

IE10及以下不支持placeholder

使用方法:



使用注意地方:

以上代码依然jq,在使用前注意要引用jq文件

图片描述

8.IE678兼容media媒体查询

使用方法:插件respond.js(官网插件https://github.com/scottjehl/...


使用插件兼容注意地方:

1.css样式不能直接写在head头部,需要通过link来引入外部样式
2.需要运行在服务器下才有效
3.js的引入要在css引入之后

代码示例:
图片描述

8.eval的兼容IE678

eval的兼容问题

IE6/7/8不兼容,报错
解决方式:
a) var s = "function(){alert('Test!')}";
b) var s = "0?0:function(){alert('Test!')}";
c) var fn = eval("(0 || " + s + ")"); fn();

e) var fn = eval("(0," + s + ")"); fn();
f) var fn = eval("0,(" + s + ")"); fn();

(注:a/b/c方案是国外网站找到,e/f是国内网站找到)

你可能感兴趣的:(兼容,ie兼容,html)