跳到主要内容

CSS Hack

CSS Hack 是一种编程技巧,它的作用是让 CSS 代码能兼容各个浏览器,尽量让页面取得想要的效果,避免出现错误的布局。不同厂商的浏览器(例如 Chrome 、 Firefox 等)或相同厂商不同版本的浏览器(例如 IE6 、 IE7 等)对 CSS 的解析能力有差异,并且各自还会存在特有的 BUG , CSS Hack 就会利用这些特点来执行或忽略相应地 CSS 样式。虽然 CSS Hack 能提升兼容性,但还是尽量少用,这是因为每次都要多写几段额外的兼容样式,这会带来巨大的维护成本,并且在浏览器升级后,浏览器支持了更多的 CSS 特性或修正了 BUG ,原先的写法可能就会失效。众所周知, IE 浏览器一向特立独行,很多 CSS Hack 的出现,就是为了填补 IE 中的坑。下面的所有 CSS Hack 默认都运行在标准渲染模式中。

特定厂商的属性和前缀

浏览器系统前缀
Android-webkit -
Chrome-webkit -
Firefox-moz -
Internet Explorer / Microsoft Edge( 现在这货跟谷歌了 )-ms -
iOS-webkit -
Opera-o -
Safari-webkit -

条件注释

条件注释是 IE 浏览器的私有语法,存在于 HTML 文档中,可以指定某个版本的 IE ,解析对应的内容,语法如下。有一点需要注意, IE10 之后已经把条件注释移除了。