【发布时间】:2020-10-01 06:09:57
【问题描述】:
通常,当您创建块元素时,该元素的宽度默认为 100%。除非您尝试使用 margin: auto 使元素居中,否则该规则仍然适用于网格内部。在网格内使用margin: auto 使块元素居中时,元素会缩小以适应内容。您可以通过将宽度显式设置为 100% 来更改此设置。我在下面包含了一个简单的演示。
.block {
display: block;
border: solid 3px green;
}
.grid {
display: grid;
border: solid 3px blue;
}
.content {
border: solid 3px red;
margin: 0.5rem auto;
max-width: 30rem;
}
<div class="block">
<div class="content">Some content in a block</div>
</div>
<div class="grid">
<div class="content">Some content in a grid</div>
</div>
有人可以解释为什么它会这样吗?
【问题讨论】:
-
因为在 grid/flexbox 中,margin:auto 会从相应的侧面推动元素以将其缩小到其内容大小。这是默认行为。 Grid/flex 子元素不是
display:block,无论其默认显示类型如何。
标签: html css css-grid centering