1

这是我的 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
  });
}

我必须注意,样式只有在有目标时才会发生。如果没有目标,则不应应用样式。

4

0 回答 0