用CSS选择第二次出现的类?

24m*_*3wg 3 css

给定以下(动态)标记,我需要匹配类orange的第二次出现,无论有多少div具有类apple.

<div>
  <div class="apple"></div>
  <div class="apple"></div>
  <div class="orange"></div>
  <div class="apple"></div>
  <div class="apple"></div>
  <div class="orange"></div> <--
  <div class="apple"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

可以用CSS完成吗?谢谢.

Den*_*ret 6

您可以使用选择器级别3来选择那些不是第一个的选择器:

.orange ~ .orange {
}
Run Code Online (Sandbox Code Playgroud)

示范

最好的方法是使用描述其他.orange元素的规则来完成样式:

.orange, .orange ~ .orange ~ .orange {
}
Run Code Online (Sandbox Code Playgroud)

示范

  • 如果你只想要一个CSS,跨浏览器解决方案,虽然很难看:这就是它.+1 - 但可以略微优化.仍然丑陋甚至优化. (2认同)