css - css-grid:具有不同行数的列
问题描述
我有以下布局:
.container {
width: 630px;
height: 630px;
display: grid;
column-gap: 10px;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto auto;
}
.first, .second, .third, .fourth, .fifth, .sixth, .seventh {
width: 200px;
height: 200px;
background-color: pink;
}
.first, .second {
height: 400px;
}
.fourth {
grid-column: 3 / 4;
grid-row: 2 / 3;
background-color: yellow;
}
.seventh {
grid-column: 3 / 4;
grid-row: 3 / 4;
}
<div class='container'>
<div class='first'>1</div>
<div class='second'>2</div>
<div class='third'>3</div>
<div class='fourth'>4</div>
<div class='fifth'>5</div>
<div class='sixth'>6</div>
<div class='seventh'>7</div>
</div>
我希望第一列和第二列有 2 行,3fr 1fr
最后一列有 3 行2fr 1fr 1fr
。最终结果将是 4 号框嵌套在 3 号和 7 号之间,而不会打破前两列中的框创建的矩形。
这是否可以使用 css 网格,我该怎么做?
解决方案
这是你想要的吗。
你可以在这里阅读更多grid-row
运行代码片段以查看它在下面的工作
.container {
width: 700px;
height: 700px;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: auto;
grid-gap: 20px;
}
.first,
.second,
.third,
.fifth,
.sixth,
.seventh {
background-color: pink;
}
.first,
.second {
grid-row: 1 / 3;
}
.fourth {
background-color: yellow;
}
<div class='container'>
<div class='first'>1</div>
<div class='second'>2</div>
<div class='third'>3</div>
<div class='fourth'>4</div>
<div class='fifth'>5</div>
<div class='sixth'>6</div>
<div class='seventh'>7</div>
</div>
推荐阅读
- security - 我想使用 publickey 加密 newgroupkey 并且他们解密它。怎么做?
- arrays - 如何使用 for 循环遍历二维数组
- ios - ViewController 被解除后是否从内存中卸载?
- c++ - MSVC 2019 long long 变量
- python - 尝试使用 decode() 方法时出现 AttributeError
- java - 如何在 Spring Boot 中记住用户?
- sql - SQL两查询组合方法
- r - 为什么代码块在几个小时前工作时不起作用。没有进行任何更改
- python - 如何根据python数据框中的特定条件将每个单元格值增加一个特定列
- sql - 如何缩短这条sql语句?(3 个子查询)