html - 如何创建这种交替布局?

标签 html css css-selectors

这是我需要使用的 HTML:

<div class="images">
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  ...
</div>

我尝试了 :nth-child() even/odd/xn+x 等 - 运气不好,我不知道要做什么计算。如果需要,可以通过 PHP 添加动态 CSS 类。

我正在尝试实现这种布局:

enter image description here

最佳答案

你可以尝试这样的事情。您的模式重复每 4 个元素,因此您需要考虑 nth-child(4n + x):

.images {
  display:flex;
  min-height:100vh;
  flex-wrap:wrap;
  align-content:flex-start;
}
.image {
  height:50px;
  border:1px solid;
  box-sizing:border-box;
}

.image:nth-child(4n+1),
.image:nth-child(4n+4) {
   width:40%;
   background:red;
}

.image:nth-child(4n+2),
.image:nth-child(4n+3) {
   width:60%;
   background:blue;
}
<div class="images">
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
  <div class="image"></div>
</div>

关于html - 如何创建这种交替布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50541486/

相关文章:

php - Laravel - 如果 $error 为真,则更改公式字段边框颜色

jquery - 在 jquery 中显示/隐藏相同的按钮

jquery - 如何让图片在页面中随机移动并在移动时旋转 Angular (使用jQuery或CSS)

javascript - waitForSelector 通过,但同一个选择器的 assertExists 失败

html - CSS:我想在一个容器中分别定位每个 child

html - 尝试使用 html 中的列表元素创建表格

javascript - 我的 map 在 jsfiddle 中有效,但在浏览器中无效

html - 背景缩放与 css 过渡不起作用

html - 在 IE7-8 中根本不应用 CSS 类

javascript - 为什么 Bootstrap 词缀会跳到顶部