是否有更优雅的方式来编写以下CSS选择器?
input:not([type="image"]):not([type="submit"])
我希望匹配所有不属于input
类型或image
类型的HTML submit
元素。
目标浏览器仅 Firefox,因此Mozilla CSS扩展程序很好。
答案 0 :(得分:6)
是否有更优雅的方式来编写以下CSS选择器?
不,没有。 Firefox 3以前允许:not()
包含任意数量的选择器,这些选择器允许您编写
input:not([type="image"], [type="submit"])
但这在技术上是一个错误,因为当时的语法不在任何标准中,并且它不再适用于任何主要版本。它现在在Selectors 4,所以希望它很快就会回归。
选择器4还包含:matches()
,它在Firefox中以:-moz-any()
的形式实现,但您无法使用它,因为它不接受否定(视为:not()
无论如何,将使用相同的扩展语法,让每个允许另一个都没有意义,但是你想知道他们为什么没有实现:-moz-not()
来使用它。/ p>
答案 1 :(得分:1)
你可以尝试
input:not([type="image"], [type="submit"])
但你的选择器匹配更好。