2013全面兼容多浏览器IE6?8&火狐&其他主流浏览器的CSS HACK写法_html/css_WEB-ITnose
程序员文章站
2022-05-28 09:51:12
...
兼容性 为客户解决兼容性问题的同时记录下了解决方法,给大家分享分享。。。。
把这段代码放到里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了
复制代码
代码如下:
background:#ffc; /* 对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
解释一下吧:
firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;
ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;
ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色
阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。
ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。
ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看之前的内容是不是这样的标准写法
-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证
把这段代码放到里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了
复制代码
代码如下:
background:#ffc; /* 对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
解释一下吧:
firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;
ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;
ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色
阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。
ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。
ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看之前的内容是不是这样的标准写法
-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证
回复讨论(解决方案)
外链有广告嫌疑...
那IE6不能识别属性选择器怎么办?
你这个岂不让IE8+都按照IE7模式显示?
这样不好吧,难道你觉得IE7-是最好的浏览器,无视IE8,IE9,IE10?