仅针对带有 CSS 的 Firefox

新手上路,请多包涵

使用条件注释可以很容易地使用特定于浏览器的 CSS 规则来定位 Internet Explorer:

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

有时,行为不端的是 Gecko 引擎 (Firefox)。 使用 CSS 规则仅针对 Firefox 而不是其他单一浏览器的最佳方法是什么? 也就是说,不仅 Internet Explorer 应该忽略 Firefox-only 规则,WebKit 和 Opera 也应该。

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

原文由 avdgaag 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 670
2 个回答

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

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

它基于另一个 Mozilla 特定的 CSS 扩展。这些 CSS 扩展的完整列表就在这里: Mozilla CSS Extensions

原文由 Ionuț G. Stan 发布,翻译遵循 CC BY-SA 4.0 许可协议

更新(来自@Antoine 评论)

您可以使用 @supports

 @supports (-moz-appearance:none) {
    h1 { color:red; }
}
 <h1>This should be red in FF</h1>

更多关于 @supports 这里

原文由 laaposto 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题