CSS hack因为不一样厂商的浏览器,好比Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不一样版本,如IE6和IE7,对CSS的解析认识不彻底同样,所以会致使生成的页面效果不同,得不到咱们所须要的页面效果。 这个时候咱们就须要针对不一样的浏览器去写不一样的CSS,让它可以同时兼容不一样的浏览器,能在不一样的浏览器中也能获得咱们想要的页面效果。css
一、浏览器运行的模式:html
标准模式(只支持标准代码)、混杂模式、准标准模式(标准和非标准均可以运行);浏览器
例如:标准代码cursor:pointer;小手 IE下能够运行 cursor:hand;spa
不一样模式对CSS框模型和JS解析都有必定的影响;依靠<!doctype>进行模式选择;code
二、CSSHack工做原理:经过选择器或样式的优先级来解决兼容性问题;htm
①CSS类内部Hack:经过先后缀的方式来解决兼容性blog
②选择器Hack:在选择器前加前缀解决兼容性utf-8
③HTML头部引用Hack:经过条件注释来解决兼容性问题get
<!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>