IE浏览器CSS Hack速查表(IE6/7/8/9/10)
CSS Hack的原理是什么
由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。
CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器。
类内部Hack:比如 IE6能识别下划线”_”和星号” * “,IE7能识别星号” * “,但不能识别下划线”_”,而firefox两个都不能认识。等等
选择器Hack:比如 IE6能识别*html .class{},IE7能识别* html .class{}或者*:first-child html .class{}。等等
HTML头部引用(if IE)Hack:针对所有IE:<!–[if IE]><!–您的代码–><![endif]–>,针对IE6及以下版本:<!–[if lt IE 7]><!–您的代码–><![endif]–>,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。
书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面如何写里面说得更详细些。
如何写CSS Hack
比如要分辨IE6和firefox两种浏览器,可以这样写:
代码如下 | 复制代码 |
<style> |
我在IE6中看到是红色的,在firefox中看到是绿色的。
IE6 CSS Hack
IE6 CSS Hack only
代码如下 | 复制代码 |
/* For IE6 and earlier */ .demo{*color:#090;/* For IE7- */} |
IE7 CSS Hack
代码如下 | 复制代码 |
IE7 CSS Hack only * html .test{color:#ff0;} /* For IE7 */other IE7 CSS Hack .demo{*color:#090;/* For IE7- */} |
IE8 CSS Hack
代码如下 | 复制代码 |
IE8 CSS Hack only .demo{color::#09F /}/* For IE8 */other IE8 CSS Hack .demo{color:#09F ;/*IE8 */} |
IE9 CSS Hack
IE9 CSS Hack only
暂未发现仅IE9能识别的CSS Hack;随着IE10、IE11的出现网络上流传的“IE9 CSS Hack only”已经失效。
代码如下 | 复制代码 |
other IE9 CSS Hack .demo{color:blue9 ;} /* IE9 */ |
IE10 CSS Hack
IE10 CSS Hack only
无
代码如下 | 复制代码 |
other IE10 CSS Hack .demo{color:blue9 ;} /* IE9 */ @media screen and (min-width:0 ) { |
总结,随着IE的逐渐标准化,IE11和IE10可能很少用不到CSS Hack了。
您可能感兴趣的文章:
IE浏览器CSS Hack速查表(IE6/7/8/9/10)
CSS Hack解决浏览器兼容性问题
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2
IE6.0/IE7.0/IE8.0 的CSS-HACK写法与注释
针对IE6、7、8条件注释语句(不同版本IE显示用不用css)
CSS HACK IE6、IE7、IE8、Firefox解决兼容性问题
IE10/11不支持条件性注释的3个解决方法
CSS 浏览器兼容hack整理收藏
CSS hack的一些思考 我们该如何面对它?
浏览器BUG处理方法整理