【发布时间】:2021-12-01 18:34:07
【问题描述】:
我正在寻找解决我的 CSS 网格问题的方法。 我现在遇到的问题是我有一个有 4 列和 10 个框的网格,它填充了一个列行单元格,如下所示: 但是,我希望其余两个框自动跨越以适应整个宽度,如下所示: (方框 9 和方框 10)。 虽然我在这里实现了它,但我不想手动必须这样做。我希望网格能够自动执行此操作。这可以实现吗?
<!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></title>
</head>
<style>
<!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></title>
</head>
<style>
html {
}
.grid {
width:100%;
height:200px;
display:grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap:10px;
}
.grid .box {
width:100%;
height:100%;
text-align: center;
background-color: red;
}
/* .grid .box:nth-child(9) {
grid-column: span 2;
}
.grid .box:nth-child(10) {
grid-column: span 2;
} */
@media (max-width:768px){
.grid {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
}
</style>
<body>
<div class="grid">
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<div class="box">Box 4</div>
<div class="box">Box 5</div>
<div class="box">Box 6</div>
<div class="box">Box 7</div>
<div class="box">Box 8</div>
<div class="box">Box 9</div>
<div class="box">Box 10</div>
</div>
</body>
</html>
【问题讨论】:
-
CSS-Grid 不可能,你需要 flexbox。
-
啊。非常感谢。
-
to auto span是什么意思?您的图片可以使用grid,只是不清楚“自动跨度”是什么。 -
对于第一张图片中的9和10框,我希望它像最后一张图片一样均匀地占据第三行。