直接贴代码css
.big-box{
/* width: 200px; */
display: grid;
/* 1fr 相当于 flex:1 */
/* columns 几个值 几个列(宽度) 如:1fr 30px 1fr 1fr 4个值 4列 */
/* grid-template-columns: repeat(3, 1fr); 定义3列 每个都是 ifr
第一个值可为 repeat(auto-fill, minmax(200px, 1fr)) 自定义列*/
grid-template-columns: 1fr 1fr;
/* 每行的高度 第一行 50px 第二行 20px */
/* grid-template-rows: 50px 20px; */
/* 间距行和列 */
grid-gap: 10px;
/* 单独定义列的间距 */
/* grid-column-gap:10px; */
/*
单独定义行的间距
grid-row-gap:20px;
*/
/* 为每个元素设置高度 不设置 就以容器的高度和宽度为准*/
grid-auto-rows: 100px;
/* 为每个元素设置宽度 */
/* grid-auto-columns: 200px; */
/* 最小高度为 100px 大于就自动调整 */
/* grid-auto-rows: minmax(100px, auto) */
/* 根据名称来展示布局 父元素grid-template-areas 配合子元素 grid-area */
grid-template-areas:
"header header"
"sidebar content"
}
/* grid-column 固定在第几列 grid-row 固定在第几行
如 1,1 第一列第一行 1,2 第一列第二行
2 / 5 合并从第二个到第4个 到第二位数的前一个
*/
.a {
grid-area:header; /* 对应 grid-template-areas */
grid-column: 2 / 5;
grid-row: 1 / 3;
}
.b {
grid-column: 1;
grid-row: 1 / 3;
}
.c {
grid-row:2;
grid-column:2;
}
htlm
<div class="big-box">
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
</div>