如何使每个正方形的大小相同???
我正在使用flexbox创建网格布局。 大多数网格单元格没有内容,而有些网格单元格则具有内容。 当单元格具有内容时,它会使所有内容偏移。 我该如何确保所有单元格的大小均匀,而不考虑其内容?
HTML
我有三行,每行有三个单元格。 仅中心单元格的中心行包含子元素。
<div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div><span>contains span</span></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
</div>
CSS
在 CSS 中,中心空间比其他正方形要大。
body, html {
height: 100%;
}
body {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
body>div {
display: flex;
}
body>div>div {
border: solid 1px blue;
}
div {
flex-grow: 1;
}
body>div:nth-child(2)>div:nth-child(2) {
display: flex;
align-items: center;
justify-content: center;
}
flex
是flex-grow
、flex-shrink
和flex-basis
的缩写。它们的默认值分别为 0、1 和 auto。所以长手写法将会是:flex-grow: 1; flex-shrink: 1; flex-basis: 0;
。请注意,flex-basis
是 0,而不是默认的auto
,因为如果您使用单个数字值设置flex
,则默认值实际上类似于1 0
(与省略flex-basis
相同)。建议使用简写版本。 - Patrickmin-width: 0;
对我解决了所有问题。谢谢! - phlaxyr