提问者:小点点

为什么带边距自动的块元素在网格中的行为不同?


通常,当您创建块元素时,元素的宽度默认为100%。 除非您尝试使用margin:auto将元素居中,否则该规则仍然适用于网格内部。 当在网格内使用Margin:auto将块元素居中时,元素会收缩以适应内容。 您可以通过显式地将宽度设置为100%来更改这一点。 我在下面包括了一个简单的演示。

null

.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>

null

有人能解释为什么它会这样做吗?


共1个答案

匿名用户

根据规范:

默认情况下,网格项拉伸以填充其网格区域。 但是,如果自动调整自对齐或自对齐计算值不是拉伸或边距,则网格项将自动调整大小以适应其内容。