css 如何关闭网格自动调整到其他分区?[复制]

rdlzhqv9  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(161)

此问题在此处已有答案

CSS Grid - Auto height rows, sizing to content(3个答案)
4天前关闭。
在我向3个div中的一个添加任何内容后,其他div的高度将扩展到最大的一个,有没有办法删除此自动调整大小?代码示例(box1和box3扩展到box2的大小):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="gridBody">
        <div> box1 (show this without the width of the second line)</div>
        <div> box2<div> second line</div> </div>
        <div> box3 (show this without the width of the second line)</div>
    </div>

    <style>
        .gridBody {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
        }
        .gridBody div {
            margin: 20px;
            padding: 20px;
            background: rgba(0, 0, 0, 0.5);

        }
    </style>
</body>
</html>

我尝试了grid-auto-rows/grid-auto-columns:min-content,希望它能将box1和box3的大小调整为最小内容,但没有效果

sqougxex

sqougxex1#

看起来你可以把align-items: start加到gridBody上,以避免其他div为了适应最大的一个而扩大高度。
默认情况下,网格布局将以类似于align-items: stretch的行为放置项目,这将导致所有div拉伸到最大高度。
More about align-items
示例:

.gridBody {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  /* 👇 Add this line */
  align-items: start;
}

.gridBody div {
  margin: 20px;
  padding: 20px;
  background: rgba(0, 0, 0, 0.5);
}
<div class="gridBody">
  <div> box1 (show this without the width of the second line)</div>
  <div> box2
    <div> second line</div>
  </div>
  <div> box3 (show this without the width of the second line)</div>
</div>

相关问题