【发布时间】:2021-03-17 08:07:14
【问题描述】:
我正在尝试使用auto-fill 来实现尽可能多的列。
这就是代码正常工作的方式。
.grid-container {
border: solid 1px green;
padding: 3px;
min-width: 400px;
max-width: 900px;
display: flex;
flex-basis: 900px;
flex-direction: column;
height: 100%;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(294px, 1fr));
grid-gap: 12px;
}
.item {
border: solid 1px red;
min-height: 80px;
}
<div class="drawer">
<div class="grid-container">
<div class="grid">
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
</div>
</div>
</div>
但我需要容器drawer 具有绝对定位。如果我将其设置为绝对定位,则网格自动填充将停止工作,并且网格只会创建一列而不尝试容纳更多列。
.grid-container {
border: solid 1px green;
padding: 3px;
min-width: 400px;
max-width: 900px;
display: flex;
flex-basis: 900px;
flex-direction: column;
height: 100%;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(294px, 1fr));
grid-gap: 12px;
}
.item {
border: solid 1px red;
min-height: 80px;
}
.drawer {
position: absolute;
left: 0;
top: 0;
bottom: 0;
height: 100%;
}
<div class="drawer">
<div class="grid-container">
<div class="grid">
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
<div class="item">This is grid item</div>
</div>
</div>
</div>
为什么会发生这种情况以及如何使网格正常工作?
【问题讨论】:
标签: html css css-position css-grid