CSS显示/隐藏下一个元素

epu*_*pus 5 css css3

我想通过CSS 隐藏第二个idmy2

<div class="node1">
  <div class="xxx"> blablabla </div>
</div>
<div id="my2">
  <div class="xxx"> blablalbla </div>
</div>
<div class="node2">
  <div class="xxx"> blablabla </div>
</div>
<div id="my2">
  <div class="xxx"> blablalbla </div>
</div>
Run Code Online (Sandbox Code Playgroud)

是否可以隐藏第二个my2 div

例如

.node2 ? #my2 {
     display:none;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Sum*_*hay 5

是可能的:

使用~您可以选择该类别的所有兄弟姐妹(您的情况)。

.node2 ~ #my2{ 
  display:none; 
}
Run Code Online (Sandbox Code Playgroud)

您还可以+用于选择直接同级。

.node2 + #my2{ 
   display:none; 
 }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!


小智 1

为了定位 .node2 之后的 #my2 元素,您需要在它们之间添加一个 + 号。

.node2 + #my2 {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)

但如前所述,使用多个 id 是无效标记。