【发布时间】:2021-03-21 23:02:15
【问题描述】:
我有一个弹性盒子。它的内容是 NxN 个正方形。给定显示宽度,我希望容器尽可能多地适应这些正方形。我希望 flexbox 在页面上居中对齐。
但是问题出在我使用的时候
justify-content: center
那么最后一行不左对齐。但是,如果我更改为
justify-content: left
然后整个容器不再显示在页面中心对齐。我能否以某种方式实现两者的混合,所以在这个示例中我将居中对齐 5 个项目,但最后一行将与前几行中的第一个项目对齐?
最少的复制:
<style>
div { display: flex; flex-wrap: wrap; justify-content: center; }
i { display: block; width: 300px; height: 300px; background: black; margin: 10px; }
</style>
<div>
<i></i> <i></i> <i></i> <i></i> <i></i>
<i></i> <i></i> <i></i>
</div>
【问题讨论】:
-
嗨,欢迎来到 SO。请添加一个最小的可重现代码 sn-p (ctrl + m) 显示您的代码和问题(专注于最小化)。
-
谢谢。添加了复制。
-
愚蠢的问题,但为什么不将父元素居中对齐呢? :D
-
对不起,我真的不明白这个问题。我的意思是如果你使用
justify-content: left;,那么它会在左边对齐,如果你使用justify-content: center;,它就会居中。 -
我希望许多元素适合居中对齐。如果我使用
justify-content: left;,那么我的 5 个元素(可能是 4 个,或者可能是 6 个等,具体取决于分辨率)不会在父级中居中对齐。而且我不能居中对齐父元素(或者至少我不知道该怎么做),因为 flexbox 占据了 100% 的宽度。