使用条件注释很容易针对Internet Explorer浏览器特定的CSS规则:
<!--[if IE 6]>
...include IE6-specific stylesheet here...
<![endif]-->
有时是Gecko引擎(Firefox)行为不当。将CSS规则只针对Firefox而不是其他浏览器的最佳方法是什么?也就是说,不仅Internet Explorer应该忽略仅限于firefox的规则,WebKit和Opera也应该忽略。
注:我正在寻找一个“干净”的解决方案。在我看来,使用JavaScript浏览器嗅探器向我的HTML中添加一个“firefox”类并不算干净。我更希望看到一些依赖于浏览器功能的东西,就像条件注释只对IE来说是“特殊的”……
如何应用CSS只Firefox
下面的解决方案为您提供了在更广泛的Firefox浏览器版本中仅支持Firefox的CSS…
@supports (-moz-appearance:button) and (contain:paint) {
body {
background: red;
}
}
早在2006年,Mozilla/Firefox就支持-moz-appearance:按钮。但是@supports规则直到2019年才被支持,所以那将是最早支持该规则的Firefox浏览器。include:paint将Safari浏览器排除在规则之外。Internet Explorer和早期的Trident Edge浏览器不支持@supports,因此也被排除在CSS规则之外。没有已知的Chrome浏览器应该支持-moz-appearance:按钮,所以排除。
一如既往,我所有的CSS解决方案都是100% javascript免费:)