【发布时间】:2016-11-12 10:49:59
【问题描述】:
我已经设置了一个包含两个项目的 flexbox,它们应该在正常屏幕的左侧和右侧。
如果屏幕不够大,无法将两者并排显示,则应该换行,但它们应该居中,而不是在左侧对齐。
我尝试了不同的解决方案(例如在子项上使用 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/
第一个容器是预期的定位,第二个容器在较小的屏幕上模拟同一个容器,注意向左对齐。
有没有办法定义弹性框在包装时以不同方式对齐项目,或者我只能使用“@media screen”方法来做到这一点(这需要我设置一定的大小,因此如果大小不灵活的项目变化)?
【问题讨论】:
-
不,flexbox 不能这样做。这是一个常见的请求。
标签: html css flexbox centering