CSS hack

来自:http://blog.csdn.net/freshlover/article/details/12132801#t3

CSS hack:针对不同的浏览器/不同版本写相应的CSS code的过程

CSS hack的原理:
不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优先级对浏览器展现效果的影响,针对不同的浏览器情景来应用不同的CSS

CSS hack分类:
(1)属性前缀法 (即类内部Hack):在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。例如 IE6能识别下划线”_”和星号”“,IE7能识别星号”“,但不能识别下划线”_”,IE6~IE10都认识”\9”,但firefox前述三个都不能认识。
(2)选择器前缀法 (即选择器Hack):在CSS选择器前加上一些只有某些特定浏览器才能识别的前缀进行hack。例如 IE6能识别 *html .class{},IE7能识别+html .class{}或者*:first-child+html .class{}。
(3)IE条件注释法 (即HTML条件注释Hack,IE专有,官方推荐): 针对所有IE(注:IE10+已经不再支持条件注释): <!--[if IE]>IE浏览器显示的内容 <![endif]-->,针对IE6及以下版本: <!--[if lt IE 6]>只在IE6-显示的内容 <![endif]-->

CSS hack利弊:
利:顾及用户体验实现向下兼容,使用hack。对页面表现的一致性有好处。
弊:过多的滥用会造成html文档混乱不堪,增加管理和维护的负担。

少用、慎用hack。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章