【发布时间】:2022-12-13 02:03:57
【问题描述】:
我正在尝试使用 css 创建一个网格。第一个元素具有固定高度,这导致整个第一行具有相同的高度。我希望第二行中的元素向上推并填充第一行中的空白区域。有没有办法用 css grid 实现这个?
我打算使用它的页面将包含根据用户提交的内容而改变大小的元素。
我试过使用 grid-auto-columns 和 grid-auto-rows 以及 grid-auto-flow: dense;但我无法获得这些的任何组合来获得所需的结果。任何建议表示赞赏。
.container {
display: grid;
width: 800px;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(2, 1fr);
grid-gap: 1rem;
}
/* OTHER STYLES */
body {
background-color: #3b404e;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.item {
height: 100px;
background-color: #1EAAFC;
background-image: linear-gradient(130deg, #6C52D9 0%, #1EAAFC 85%, #3EDFD7 100%);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
color: #fff;
border-radius: 4px;
border: 6px solid #171717;
}
.item1 {
height: 250px;
}
<div class="container">
<div class="item item1"></div>
<div class="item item2"></div>
<div class="item item3"></div>
<div class="item item4"></div>
<div class="item item5"></div>
</div>
这是我正在练习的代码笔: codepen
【问题讨论】: