针对特定浏览器起作用的CSS: IE Chrome Firefox CSS Hack

时间:2021-10-25 12:43:48

Firefox的CSSHack

只在Firefox上应用的CSS Hack,虽然这种情况非常少,但有时也会碰到:

@-moz-document url-prefix() {
.cssSelector {
font-size: 14px;
}
}

Chrome的CSSHack

只在Chrome上应用的CSS Hack,目前这种情况还没有碰到(使用Chrome作为开发浏览器的原因?),有备无患吧。

@media screen and (-webkit-min-device-pixel-ratio:0) {
#test1{color:red;}
}

IE6/7/8/9+的CSS Hack

只在IE上应用的CSS Hack, 这种情况几乎经常碰到, 这里使用的是一种通用的方法,情况复杂,需要先划分一下版本:

在body上附加一个IE版本的class

Hack CSS跟其他CSS文件写一起。

IE9+ 不加Hack;IE6,IE7, IE8 加 ie的前辍, IE6多加一个ie6的前辍Hack (大部分给ie7/8写的hack, IE6都会用到)

<!--[if lt IE 7 ]><body class="ie ie6"><![endif]-->
<!--[if IE 7]><body class="ie"><![endif]-->
<!--[if IE 8]><body class="ie"><![endif]-->

为IE附加新的CSS文件

IE7/8多加一个,IE6多加两个,就让IE多装点东西吧,不要污染别的CSS文件

<!--[if lt IE 9]>
<link type="text/css" rel="stylesheet" href="css/show_ie.css">
<![endif]-->
<!--[if lt IE 7]>
<link type="text/css" rel="stylesheet" href="css/show_ie6.css">
<![endif]-->

注* lt 是 less than的意思;即 "ifless than IE9" = "if lt IE 9",还有几个,不过用得比较少

    • gt: greater than
    • lte: less than or equal to