仅针对Firefox使用CSS

使用条件注释很容易将IE浏览器定位到特定于浏览器的CSS规则:

<!--[if IE 6]>
...include IE6-specific stylesheet here...
<![endif]-->

有时它是Gecko引擎(Firefox)行为不当。 用你的CSS规则而不是其他浏览器只能定位Firefox的最佳方式是什么? 也就是说,Internet Explorer不仅应该忽略仅限Firefox的规则,还应该包含WebKit和Opera。

注意:我正在寻找一个'干净'的解决方案。 在我看来,使用JavaScript浏览器嗅探器将“firefox”类添加到我的HTML中并不合格。 我宁愿看到依赖于浏览器功能的东西,就像条件注释对IE只有'特殊'...


好的,我找到了。 这可能是最干净和最简单的解决方案,并且不依赖于JavaScript的开启。

@-moz-document url-prefix() {
  h1 {
    color: red;
  }
}
<h1>This should be red in FF</h1>

以下是如何解决三种不同的浏览器:IE,FF和Chrome

<style type='text/css'>
/*This will work for chrome */
#categoryBackNextButtons
{
    width:490px;
}
/*This will work for firefox*/
@-moz-document url-prefix() {
    #categoryBackNextButtons{
        width:486px;
    }
}
</style>
<!--[if IE]>
<style type='text/css'>
/*This will work for IE*/
#categoryBackNextButtons
{
    width:486px;
}
</style>
<![endif]-->

更新 (来自@Antoine评论)

您可以使用@supports

@supports (-moz-appearance:none) {
    h1 { color:red; } 
}
<h1>This should be red in FF</h1>
链接地址: http://www.djcxy.com/p/5011.html

上一篇: Targeting only Firefox with CSS

下一篇: CSS 100% height with padding/margin