css - 如何用第 n 个 child 选择第一个和第三个元素?

标签 css css-selectors

我有类 .publication 和宽度为 33% 的 div,所以每行有三个 div:

<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>

我想定位每个“行”的每个第一个和第三个元素。

我认为这可以解决问题,但它不起作用。

.publication:nth-child(3n+1) {

}

最佳答案

每行的第一行和第三行需要 2 个选择器:

body {
  display: flex;
  flex-wrap: wrap;
}

body :nth-child(3n+1), /* every first in row */
body :nth-child(3n) {  /* every third in row */
  background: blue;
}

.publication {
  width: 33.33333%;
}
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>
<div class="publication">lorem ipsum</div>

关于css - 如何用第 n 个 child 选择第一个和第三个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53157690/

相关文章:

linux - css 3d 不适用于 linux chrome

css - 根据包含的 div 响应文本

html - 选择某种类型的最后一个 child

css - 计算 :not() pseudo-class 的 CSS 选择器特异性

php - 是否可以通过让 results.php 文件引用 main.css 文件中的代码来格式化搜索结果?

c# - Bootstrap 导航栏下拉菜单在 asp.net 中不起作用

css - 来自自定义皮肤的 Magento css 通过 addCss

不在标签中的文本的 CSS 选择器

html - 伪前后元素上的 CSS3 Box-shadow

html - 使用 :checked css pseudo class with no javascript 使同级 <div> 可见