第一个匹配元素的 CSS 选择器

标签 css css-selectors

<section class="section-one"></section>
<section class="section-two"></section>
<nav></nav>
<section class="section-three"></section>
<section class="section-four"></section>

因为部分顺序来自 CMS,部分顺序是未知的(即,section-twosection-three 可以交换)。我想选择 section-two 之后的第一个同级部分,但不能使用相邻的同级选择器,因为部分之间可能还有其他元素。

考虑到它们之间可能有一个或多个元素,我如何选择 section-two 之后的第一部分?

最佳答案

.section-two ~ section {
  /* Set styles */
}
.section-two ~ section ~ section {
  /* Undo styles */
}

.section-two ~ section {
  background: #0f0;
}
.section-two ~ section ~ section {
  background: transparent;
}
<section class="section-one">One</section>
<section class="section-two">Two</section>
<nav>Nav</nav>
<section class="section-three">Three</section>
<section class="section-four">Four</section>

关于第一个匹配元素的 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396825/

相关文章:

html - IE7 无法在文本上呈现链接(背景透明)?

html - 试图瞄准 :nth-child after a certain class using ~

javascript - 在 <p> 元素中插入 <span>

css - Bootstrap 响应式行流体问题

HTML - 应用 CSS - 将带有 id 的父 Div 应用于带有 CSS 的子 div

html - 关于构建复杂 css 的最优雅方式的想法?

jquery - 使用jquery保存元素的所有css属性

html - 在 div 旁边添加 Unicode

javascript - 垂直位置上的左侧填充奇怪行为

CSS - 位置 : absolute; - auto height