选择第一个元素放置在另一个元素之后,但不立即放置

时间:2018-12-22 09:58:28

标签: css css3 css-selectors

如何仅在另一个元素(例如h1)之后选择仅第一个元素(例如h2),但不一定紧随其后
因此,element + element(例如h1 + h2)不起作用,因为它会选择立即立即放置在元素

之后的元素
<h1> Title1 </h1>
..... <--! many tags but h2 -->
<h2> h2 Title2 selected </h2>
..... <--! many tags but h1 and h2-->
<h2> h2 Title3 not selected </h2>

1 个答案:

答案 0 :(得分:4)

我认为您无法使用一个选择器来实现这一目标,因此您可以尝试以下操作:

h1:first-of-type ~ h2 {
  color:red;
}
h1:first-of-type ~ h2 ~ h2 {
  color:initial; /*we reset the style for the others*/
}
<div>
  <h2>h2 Title3 not selected </h2>
  <h1> Title1 </h1>
  <p>text</p>
  <h2> h2 Title2 selected </h2>
  <h3>text</h3>
  <h2> h2 Title3 not selected </h2>
</div>