html - 每三个元素设置样式?

标签 html css css-selectors

如何使用纯 CSS 设置每三个元素的样式。

我见过这样的问题,但是涉及到javascript。我想要一个简单的 CSS 解决方案。我知道我可以将 evenodd:nth-child 一起使用,但 :nth-child(third) 不会:nth-child(3)

也不行

例子:

<section>
  <div class="someclass"></div>             STYLE
  <div id="someId"></div>                   DON'T STYLE
  <div class="someotherclass"></div>        DON'T STYLE
  <div id="someotherId"></div>              STYLE
  <div class="someclass"></div>             DON'T STYLE
  <div id="someId"></div>                   DON'T STYLE
  <div class="someotherclass"></div>        STYLE
</section>

这是否可以通过 CSS 实现——无需 javascript 或 jQuery?

最佳答案

这可以通过纯 CSS 实现。不需要 javascript。

使用 nth-child selector .1

section > div:nth-child(3n+1) {
    background:red;
}

其中“1”是样式开始的位置,3 表示它应该每隔三个元素设置样式。解释得更好here .

jsFiddle demo here .


1注意 - 正如其他人提到的那样,这是 not fully supported IE8 及以下版本。

关于html - 每三个元素设置样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860786/

相关文章:

javascript - 如何更改 javascript 变量的字体?

javascript - CSS如何填充整个宽度?

ios - iphone css 显示表不允许文本复制

css - 更灵活的占位符选择器用法

css 选择器预嵌套列表项

css - 无法使第一个 <option> 不可见

javascript - 如何让页面内容始终出现在导航栏下方?

html - 如何将网站离线加载为 iOS 应用程序

html - 当只有一个悬停时,防止多个子菜单同时可见(由于转换延迟)

html - 表格行背景图片