我设置了一个弹性盒子,其中包含两个项目,应该在正常屏幕上分别位于左侧和右侧。
如果屏幕不足以同时显示它们,它们应该换行,但此时它们应该居中而不是靠左对齐。
我尝试了不同的解决方案(例如在子项上使用margin: auto
),但即使在同一行时也将它们更多地对齐到中心。
这是一个简化的示例:
.container {
display: flex;
align-items: flex-end;
flex-wrap: wrap;
justify-content: space-between;
border: 1px solid black;
margin-bottom: 25px;
}
.large {
width: 500px;
}
.small {
width: 175px;
}
.item {
width: 100px;
height: 100px;
background-color: blue;
margin: 25px 0px;
}
<div class="container large">
<div class="item"></div>
<div class="item"></div>
</div>
<div class="container small">
<div class="item"></div>
<div class="item"></div>
</div>
https://jsfiddle.net/SoWhy/zfx4ub8x/
第一个容器是预期的位置,第二个容器模仿了较小屏幕上的同一容器,注意左对齐。
是否有一种方法可以定义flexbox在换行时以不同的方式对齐项目,还是只能使用“@media screen”方法来实现(这需要我设置固定大小,因此如果项目的大小改变,它就不太灵活)?