可以使用CSS属性选择器和/或选择器组合来确定某个属性是否缺席吗?
属性选择器可用于测试属性是否为空:
[aria-label='']
...但该属性仍然必须存在才能通过。如果HTML标记根本没有该属性,则上述选择器不会通过。
如果属性不存在,选择器是否可以以通过的方式编写?
答案 0 :(得分:2)
是的,使用:not()
伪类:
span:not([wrong]) {
color: blue
}
<span>I have no attribute</span><br/>
<span wrong>I have the wrong attribute :-(</span>
答案 1 :(得分:2)
您可以应用属性选择器和:not()
否定伪类的组合:
div[orange] { background-color: orange; } /* 1 */
div:not([orange]) { background-color: lightgreen; } /* 2 */
div { height: 50px; }
<div>Does not have the orange attribute</div>
<div orange>Has the orange attribute</div>
<div green>Does not have the orange attribute</div>
<div orange="orange">Has the orange attribute</div>
注意:
orange
属性定位div。orange
属性的div。参考文献:
答案 2 :(得分:1)
这样的东西?
div:not([aria-label]) {
color: red;
}
&#13;
<div aria-label="test">
test
</div>
<div>
test2
</div>
&#13;