CSS:选择每第二个 child 而不是每第四个

标签 css css-selectors frontend

我需要选择一个元素的每个第二个子元素,但如果它是 4 的倍数(4、8、12 ...),则不应选择它。所以我想要的“序列”是 [2, 6, 10, 14]。

我目前的解决方案是:

p:nth-child(2n) {
  background: purple;
}
p:nth-child(4n) {
  background: white;
}

现在第 2、6、10 和 14 个元素的背景颜色为紫色。但这不是解决问题的好方法。

我能以某种方式将这两个选择器组合成类似的东西吗

p:nth-child(2n \ 4n) { //Just an idea how this selector could work
  background: purple;
}

最佳答案

这应该适用于您的序列 ([2, 6, 10, 14]):

   p:nth-child(4n-2) {
      background: purple;
    }

p:nth-child(4n-2) {
  background: purple;
  color: #FFF;
}
<p>Lorem ipsum 1</p>
<p>Lorem ipsum 2</p>
<p>Lorem ipsum 3</p>
<p>Lorem ipsum 4</p>
<p>Lorem ipsum 5</p>
<p>Lorem ipsum 6</p>
<p>Lorem ipsum 7</p>
<p>Lorem ipsum 8</p>
<p>Lorem ipsum 9</p>
<p>Lorem ipsum 10</p>
<p>Lorem ipsum 11 </p>
<p>Lorem ipsum 12</p>
<p>Lorem ipsum 13 </p>
<p>Lorem ipsum 14 </p>
<p>Lorem ipsum 15</p>
<p>Lorem ipsum 16</p>

关于CSS:选择每第二个 child 而不是每第四个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610747/

相关文章:

html - 删除圆形图像周围的边框

java - 如何将 WebView 的内容居中?

xpath - 无法使用 selenium 找到 html 元素

css - 是否有 "previous sibling"选择器?

javascript - 如何在 Uppy XHR 请求中添加自定义帖子字段?

html - 我应该如何将图像放在侧边栏菜单下方

javascript - 获取字体向量

css - 在 Linux 系统上找不到图像

css - 高级 CSS 选择器 - 根据样式选择

html - float 表格单元格