CSS hack

CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

1、浏览器运行的模式:

  标准模式(只支持标准代码)、混杂模式、准标准模式(标准和非标准都可以运行);

  例如:标准代码cursor:pointer;小手  IE下可以运行 cursor:hand;

  不同模式对CSS框模型和JS解析都有一定的影响;依靠<!doctype>进行模式选择;

 2、CSSHack工作原理:通过选择器或样式的优先级来解决兼容性问题;

  ①CSS类内部Hack:通过前后缀的方式来解决兼容性

  

  ②选择器Hack:在选择器前加前缀解决兼容性

  

  ③HTML头部引用Hack:通过条件注释来解决兼容性问题

  

<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="css/style_all.css">
        <!--[if IE 6]>
            <link rel="stylesheet" href="css/style_ie6.css">
        <![endif]-->
        <!--[if IE 8]>
            <link rel="stylesheet" href="css/style_ie8.css">
        <![endif]-->
    </head>
    <body>
        <div id="d1"></div>
    </body>
</html>
原文地址:https://www.cnblogs.com/7662-scy/p/6509459.html