我如何创建这个交替布局? [英] How can I create this alternating layout?
本文介绍了我如何创建这个交替布局?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我需要使用的HTML:
< div class =images>
< div class =image>< / div>
< div class =image>< / div>
< div class =image>< / div>
...
< / div>
我试过:nth-child()even / odd / xn + x
等 - 没有运气,我无法弄清楚要做什么计算。
我试图实现这种布局:
解决方案
你可以尝试这样的事情。你的模式重复每4个元素,所以你需要考虑 nth-child(4n + x)
:
.images {display:flex;最小高度:100vh;弯曲缠绕:包裹; 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%;背景:红色;}。图像:nth-child(4n + 2),。图像:nth-child(4n + 3){width:60%;背景:蓝色;}
< 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>
This is the HTML I need to use:
<div class="images">
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
...
</div>
I tried :nth-child() even/odd/xn+x
etc. - no luck, I can't figure out what calculation to do. Adding dynamic CSS classes via PHP is fine if needed.
I'm trying to achieve this layout:
解决方案
You can try something like this. Your pattern is repeating each 4 elements so you need to consider 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>
这篇关于我如何创建这个交替布局?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文