【发布时间】:2020-08-27 11:52:12
【问题描述】:
我有一个 4 列的 flexbox。 纯css是否可以在开始行重新启动第n个孩子? 我想得到这个背景
▓░▓░
░▓░▓
▓░▓░
当响应式调整大小时,它应该保持旋转
▓░▓
░▓░
▓░▓
░▓░
我尝试了 nth-child,但在 4 列时,下一行再次以 dark 开头。
$( document ).ready(function(){for (i = 1; i < 12; i++){$( "#parent .child:first-child" ).clone().appendTo( "#parent" );
}});
#wrapper {
width: 70%;
margin: 0 auto;
}
#parent {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: flex-start;
}
#parent > .child {
margin: 10px;
flex-basis: calc( 100% / 4 );
max-width: calc( 100% / 4 - 20px );
width: calc( 100% / 4 - 20px );
background: rgba(0,0,255,0.2);
padding: 10px;
box-sizing: border-box;
}
#parent > .child:nth-child(2n) {
background: rgba(0,255,255,0.2);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="wrapper">
<div id="parent">
<div class="child">
<h4>Lorem Ipsum</h4>
<span>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy</span>
</div>
</div>
【问题讨论】:
-
不确定你是否遇到过这个问题,但有人已经尝试使用 css grid 和 nth-child dev.to/thedamon/… 解决这个问题
-
是的,对于这样的事情,网格是更智能的选择。特别是因为它不需要JS来解决问题。
-
似乎grid也需要js
-
@Tactic 他们在实际解决方案中使用的唯一 JS 是生成模板,这样他们就不必编写所有 HTML,就像您在上面所做的克隆一样。