我有一个列表,我想选择所有"类似的"元素之后的项目(即具有相同的类):
<ul>
<li class="x">foo</li>
<li class="y" id="b">foo</li> <!-- From this... -->
<li class="y">foo</li> <!-- ...can I select this?... -->
<li class="y">foo</li> <!-- ...and this... -->
<li class="x">foo</li> <!-- ...but not that... -->
<li class="y">foo</li> <!-- ...and neither that... -->
</ul>
我可以在元素.y
之后选择(仅限CSS)所有#b
类的元素吗?
我不知道任何元素的位置(以及有多少元素),我只知道我想要开始的元素的ID(#b
)和我想要捕获的类(.y
后#b
和下一个.x
之前的tz
。
我可以在CSS中写一些内容来匹配吗?
答案 0 :(得分:3)
在.y
之后
#b
那将是
#b ~ .y
在下一个
之前.x
这有点棘手。如果可能存在另一个.x
元素,并且您希望避免使用.y
元素之后的.x
元素,那么您很可能需要一个覆盖规则(在第一个之后):
#b ~ .y {
/* Style all .y that follow #b */
}
#b ~ .x ~ .y {
/* Revert styles for .y that follow the next .x after #b */
}
答案 1 :(得分:0)