如下示例,item 可以通过 JavaScript 来控制渲染或不渲染,换句话说,item 的数量是不确定的 (可能是 1 个 或 2 个等等)。
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
我的需求是:需要将所有 item 排在一行里,整体在 container 里居中对齐。此外,每个 item 限定最大宽度为 40rem,宽度需要尽可能拉伸到 40rem,保证每个 item 等宽。
那么如何实现这个布局呢?如下:
.container {
display: flex;
justify-content: center;
}
.item {
max-width: 40rem;
flex: 1;
}
这里的关键是:
一是,用 Flexbox 来实现。
二是,通过 justify-content: center; 实现整体在 container 里居中对齐。
三是,通过 max-width: 40rem; 和 flex: 1; 的配合实现每个 item 限定最大宽度为 40rem,宽度需要尽可能拉伸到 40rem。