CSS:使3个项目填充具有特定行和列的6x6网格

问题描述 投票:0回答:1

我想为6x6网格建模,仅用3个元素填充所有列和行。大小应与有36个单元格相同,但3个单元格将填满所有空间。由于某些原因,我的单元格似乎没有填充它们各自的单元格和列。

我发现span选项,尽管它似乎无法正常工作。

这是我的代码:

.grid-container {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto;
    grid-template-rows: auto auto auto auto auto auto;
    background-color: #2196F3;
    padding: 5px;
}
.grid-item {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.8);
    padding: 20px;
    font-size: 30px;
    text-align: center;
}

#box1 {
    grid-column: 1 / span 4;
    grid-row: 1 / span 2;
}

#box2 {
    grid-column:  5 / 6;
    grid-row: 1 / span 6;
}

#box3 {
    grid-column: 1 / span 4;
    grid-row: span 3 / span 6;
}
<div class="grid-container">
<div class="grid-item" id="box1">1</div>
<div class="grid-item" id="box2">2</div>
<div class="grid-item" id="box3">3</div>
</div>
css css-grid
1个回答
1
投票

与其将grid-template-row / grid-template-column设置为auto,最好使用重复功能来设置6x6网格。为了使#box2充满整个空间,您需要确保它一直贯穿。 devtools中的网格检查器将向您显示每个元素占用的行数。因此,不是网格列跨度为5/6,而是网格列跨度为5/7。 #box3也是如此,它的网格行:span 4/6而不是grid-row:span 4/5;

.grid-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(6,1fr);
    background-color: #2196F3;
    padding: 5px;
}
.grid-item {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.8);
    padding: 20px;
    font-size: 30px;
    text-align: center;
}

#box1 {
    grid-column: 1 / span 4;
    grid-row: 1 / span 2;
}

#box2 {
    grid-column:  5 / 7;
    grid-row: 1 / span 6;
}

#box3 {
    grid-column: 1 / span 4;
    grid-row: span 4 / span 6;
}
<div class="grid-container">
<div class="grid-item" id="box1">1</div>
<div class="grid-item" id="box2">2</div>
<div class="grid-item" id="box3">3</div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.