CSS 布局:如何使奇偶行元素在两列中灵活排布?
了解 css 布局:灵活处理奇偶行元素
在 css 布局中,有时我们会遇到处理奇偶行元素的难题。比如,当你有若干固定宽度的元素需要排成两列时,要求双数时每行放置 2 个元素,单数时最后一个元素独占一行。如何实现这个布局呢?
解决方法
我们可以使用 :last-child 和 :nth-child 选择器来解决这个问题。last-child 选择器可以选中容器中的最后一个元素,而 :nth-child 可以选中满足特定规则的元素。通过组合这两个选择器,我们可以选中最后一个元素并且非 2n 的元素:
.list .item:last-child:not(:nth-child(2n)) { /* 选择最后一个元素并且非 2n 的,设置样式 */ }
举例说明
下面是一个示例代码,展示了如何使用上述方法实现需求:
<div class="list"> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> </div>
.list { display: flex; flex-wrap: wrap; width: 1000px; } .item { width: 200px; height: 200px; margin: 10px; background-color: red; } .list .item:last-child:not(:nth-child(2n)) { margin-top: 10px; }
当元素个数为偶数时,元素将按两列排列:
[图片展示双数情况下的布局]
当元素个数为奇数时,最后一个元素将独占一行:
[图片展示单数情况下的布局]
以上就是CSS 布局:如何使奇偶行元素在两列中灵活排布?的详细内容,更多请关注其它相关文章!