这是我的 html 的简短版本:
<div id="section1" class="section">...</div>
<div id="section2" class="section">...</div>
<div id="section3" class="section">...</div>
<div id="section4" class="section">...</div>
这些部分之一将是:target
伪选择器的目标,我目前想要选择目标的所有兄弟。一方面,我知道 CSS 没有“所有兄弟”选择器,只有通用~
和相邻的+
兄弟组合器。
所以相反,我想找出只有在伪选择器发生的情况下,CSS才有一种方法(或最接近的方法)来获取另一组元素(在本例中为兄弟元素)。
.section:target then .section:not(:target){
//apply to all .section not being the target
}
如果我要使用 jQuery,它类似于:
//if a section was a target
if($('.section:target').length > 0){
//get all sections that are not the target
$('.section:not(:target)').css({
//apply css to them
});
}
我必须注意,样式只有在有目标时才会发生。如果没有目标,则不应应用样式。