CSS hack

作者: Cinderella歌儿 | 来源:发表于2016-12-29 01:47 被阅读0次

    直接的,不废话!

    什么是CSS hack?

    由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack!

    CSS hack的原理:

    由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优先级对浏览器展现效果的影响,我们可以据此针对不同的浏览器情景来应用不同的CSS。

    CSS hack的分类:

    CSS Hack大致有3种表现形式:CSS属性前缀法、选择器前缀法、IE条件注释法(即HTML头部引用if IE)Hack。

    实际项目中CSS Hack大部分是针对IE浏览器不同版本之间的表现差异而引入的。

    属性前缀法(即类内部Hack):例如 IE6能识别下划线""和星号" * ",IE7能识别星号" * ",但不能识别下划线"",IE6~IE10都认识"\9",但firefox前述三个都不能认识。

    选择器前缀法(即选择器Hack):例如 IE6能识别html .class{},IE7能识别+html .class{}或者*:first-child+html .class{}。

    IE条件注释法(即HTML条件注释Hack):针对所有IE(注:IE10+已经不再支持条件注释): ,针对IE6及以下版本: 。这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。

    CSS hack书写顺序,一般是将适用范围广、被识别能力强的CSS定义在前面。

    更详细的内容请移步:
    http://blog.csdn.net/zhcscs/article/details/46969251
    感谢该博客的作者辛苦总结整理!

    相关文章

      网友评论

        本文标题:CSS hack

        本文链接:https://www.haomeiwen.com/subject/ndyuvttx.html