美文网首页我爱编程
什么是CSS hack?在 CSS 和 HTML里如何写 ha

什么是CSS hack?在 CSS 和 HTML里如何写 ha

作者: Maggie_77 | 来源:发表于2016-12-04 18:54 被阅读0次

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

    如何写:

    • 属性前缀法(即类内部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生效,对写在判断语句里面的所有代码都会生效

    IE7&IE8 hack:

    • 条件注释:
    <!--[if IE 7]>
    这段文字只在IE7浏览器显示
    <![endif]-->
    <!--[if IE 8]>
    这段文字只在IE8浏览器显示
    <![endif]-->
    
    • 类内属性前缀法


    /*类内部hack:*/
        .header {_width:100px;}            /* IE6专用*/
        .header {*+width:100px;}        /* IE7专用*/
        .header {*width:100px;}            /* IE6、IE7共用*/
        .header {width:100px\0;}        /* IE8、IE9共用*/
        .header {width:100px\9;}        /* IE6、IE7、IE8、IE9共用*/
        .header {width:330px\9\0;}    /* IE9专用*/
    
    /*选择器Hack:*/
        *html .header{}        /*IE6*/ 
        *+html .header{}    /*IE7*/ 
    

    相关文章

      网友评论

        本文标题: 什么是CSS hack?在 CSS 和 HTML里如何写 ha

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