是否有可能编写CSS规则来选择一个元素的第一个子元素而不需要特定的类?
例如:
<div>
<span class="common-class ignore"></span>
<span class="common-class ignore"></span>
<span class="common-class"></span>
<span class="common-class"></span>
</div>
在这种情况下,我想选择第一个没有 ignore
类的 span
。我尝试过这个方法,但似乎不起作用:.common-class:first-child:not(.ignore) {
...some rules...
}
更新:
如果我给父级div添加名为parent-class
的类,那么Jukka建议的选择器的修改版本可以工作,除非第一个具有class ignore
的出现在没有该类的第一个之后。上述提到的选择器如下:
.parent-class > .common-class.ignore + .common-class:not(.ignore) {
...some rules...
}
.ignore + .common-class {/* style the first */}
可能 可行;但它可能非常脆弱(并且此方法将使得每当一个.common-class
元素跟随在.ignore
元素后面时都会被应用相同的样式)。 - David Thomas