下面的CSS选择器有没有更优雅的写法?
input:not([type="image"]):not([type="submit"])
我想匹配所有不是 image
类型或 submit
类型的 HTML input
元素。
目标浏览器仅 Firefox,因此 Mozilla CSS 扩展没问题。
最佳答案
Is there a more elegant way to write the following CSS selector?
不,没有。 Firefox 3 以前允许 :not()
包含任意数量的选择器,您可以这样写
input:not([type="image"], [type="submit"])
但这在技术上是一个错误,因为语法在当时没有任何标准,并且从那以后它不再适用于任何主要版本。现在在Selectors 4 ,不过,希望它能尽快回归。
Selectors 4 还包含 :matches()
,它在 Firefox 中实现为 :-moz-any()
,但是你不能使用它,因为它没有't accept negations(因为 :not()
无论如何都会有相同的扩展语法,让每个人允许另一个人是没有意义的,但是你想知道为什么他们没有实现一个:-moz-not()
配合使用)。
关于css - 表达 CSS 选择器的更优雅的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32086765/