首页 > 解决方案 > 选择两个元素之间的所有元素

问题描述

如果我有这个 HTML,如何使用 CSS 选择两个 h2 元素之间的所有元素?我不能使用 jQuery。

<h2 ></h2>
<p></p>
<table></table>
<p></p>
<p></p>
<h2 ></h2>
<p></p>
<p></p>

标签: csscss-selectors

解决方案


如果你使用一些<div>来包装你的内容,那么选择这个 div 并且:not(h2)应该可以工作:

.wrapper > :not(h2)

通过使用>,您只选择直接子级。

.wrapper> :not(h2) {
  background-color: rgba(0, 255, 0, .2);
}
<div class="wrapper">
  <h2>heading1</h2>
  <p>paragraph1</p>
  <table>
    <tr>
      <td>el of table</td>
    </tr>
  </table>
  <p>paragraph1</p>
  <p>paragraph1</p>
  <h2>heading2</h2>
</div>

运行代码片段以查看结果或访问此笔:https ://codepen.io/matysflance/pen/aeGrKe


推荐阅读