<分区>
我有一个要用 CSS 显示的元素列表。最初,它只有两个元素并排在一行上,但现在我想让它响应更大的屏幕,所以我想让它在一行上显示 3 个元素。我的旧代码看起来像这样,带有 justify-content:space-between。显示奇数个元素看起来不错。
.flex-container-old{
margin-top: 50px;
background: magenta;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box-old{
width: 40%;
border: 1px solid black;
margin-bottom: 20px;
height: 300px;
background: orange;
}
.wrapper{
margin: 0 auto;
width: 80%;
}
body{
background:#D3D3D3;
}
<div class="wrapper">
<div class="flex-container-old">
<div class="box-old">
</div>
<div class="box-old">
</div>
<div class="box-old">
</div>
<div class="box-old">
</div>
<div class="box-old">
</div>
</div>
</div>
所以很自然地,我通过修改 width 属性将其扩展为一行中的三个元素,结果如下所示。
.flex-container-new{
background: lightblue;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box {
width: 30%;
border: 1px solid black;
margin-bottom: 20px;
height: 300px;
background: orange;
}
.wrapper{
margin: 0 auto;
width: 80%;
}
<div class="wrapper">
<div class="flex-container-new">
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</div>
在上述代码的一行中包含三个元素的情况下,我的问题是我希望最后一行中的最后一个元素被推到左侧,与它上面一行中的中间元素对齐。遗憾的是,bootstrap 不是一种选择。这是为了学习目的。有没有办法只用 CSS 就可以实现上述目标?非常感谢。