【问题标题】:Is there a selector for odd/even children of a certain class in css?css中某个类的奇数/偶数孩子是否有选择器?
【发布时间】:2011-12-20 22:48:45
【问题描述】:

我会尽量把我的问题说清楚,所以请多多包涵! :)

我有类似以下 html 的内容。请注意,#container 中的每个 div 都可以在我的应用程序中重复任意次数。所以 div.a 可能不存在,或者我会有多个。

<div id="container">
  <div class="a">1</div>
  <div class="b">2</div>
  <div class="b">3</div>
  <div class="b">4</div>
  <div class="b">5</div>
  <div class="c">6</div>
</div>

在上面的 html 中,我想要一个用于 div #3 和 #5 的 css 选择器。使用 div.b + div.b 会影响除第一个连胜之外的所有 div.b。使用 div.b:nth-child(even) 从 div #1 开始计数,因此 div #2 被选中,我不需要它。

我需要的是能够选择连续中的所有偶数 div.b,而不受连续之前或之后的任何影响。而且我想避免使用 JavaScript。有什么想法吗?

【问题讨论】:

  • 所以你正在寻找.b:nth-of-class(even),除了使用实际存在的选择器?
  • 你需要什么样的兼容性?
  • 您能否更改 html 以添加 oddeven 作为附加类?
  • @remibourgarel : 我只关心 IE 9 和 FF / Chrome / Safari 当前版本。
  • @graphicdivine :如果可以的话,我想避免这种情况。

标签: css css-selectors


【解决方案1】:

'+' 用于下一个兄弟或相邻元素。即 li + li 或 h3 + p

但您不是在寻找相邻的,而是在寻找第 n 个元素。

【讨论】:

  • 你能用jquery代替CSS吗?
【解决方案2】:

如果有人从搜索引擎中找到此问题,我将添加此答案。

经过数小时的研究,对此没有神奇的全 CSS 答案。不要像我在这方面浪费太多时间,并在标记中使用“奇数”和“偶数”类。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2014-01-01
    • 2014-01-17
    • 1970-01-01
    • 2016-02-29
    • 2013-01-31
    相关资源
    最近更新 更多