【发布时间】:2016-04-04 19:06:35
【问题描述】:
我想知道是否可以让弹性项目水平对齐到同一容器中较大的弹性项目。使用 CSS 浮动很容易完成,但我无法使用弹性项目完成它。
View this JSFiddle for a flexbox example.
View this JSFiddle a float example
网格布局
<div class="flex-container">
<div class="large-flex-item">
</div>
<div class="small-flex-item">
</div>
<div class="small-flex-item">
</div>
</div>
CSS
.flex-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
max-width: 500px;
margin-right: auto;
margin-left: auto;
}
.small-flex-item {
flex-basis: 33.333%;
background: #000;
padding-top: 30%;
}
.large-flex-item {
flex-basis: 66.667%;
background: #333;
padding-top: 60%;
}
【问题讨论】:
-
我认为这可能是因为您正在换行到下一行 - 您是否尝试过删除换行?
-
如果你想要一个行布局,这对于 flexbox 是不可能的,除非你将较小的元素包装在它们自己的容器中。如果您使用列布局,这是可能的......但这有它自己的问题。
-
我看到小提琴之间存在多个差异,但它们似乎与问题的描述不符。您是在谈论相对于高度而不是宽度(因此变为0)解决垂直填充的百分比吗?你是说在一行中垂直堆叠一些弹性项目吗?
-
@orial 我说的是用 flexbox 示例完成浮动示例的结果。
-
@Tim 但是小提琴似乎与水平对齐完全无关