1.定义网格
display: grid; grid-template-rows: 200px 200px 200px; 行或 1fr 1fr 1fr fr是等分的意思 grid-template-columns: 200px 200px 200px; 列
简写grid-template:行/列 如grid-template:200px 200px 200px/200px 200px 200px;
2.移动网格:利用伪类:nth-child(n)
grid-area: 1/2/2/3 表示区域,前两个是行,后两个是列,表示交换前水平第二个格
在css里添加了
.box:nth-child(6) {
grid-area: 1/2/2/3;
}
6到了2的位置,其余顺序往下排,并不是交换
3.网格命名
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>区域命名</title> <style> .contenter { display: grid; /* 第二步,定义网格+ grid-template-areas*/ 500px; height: 800px; grid-template-rows: 2fr 3fr 2fr; grid-template-columns: 1fr 3fr 2fr; grid-template-areas: "header header header" "nav main aside" "footer footer footer"; background-color: blue; grid-gap: 5px; } header { /* 第三步,给每个区域添加css样式*/ grid-area: header; background-color: red; } nav { grid-area: nav; background-color: pink; } main { grid-area: main; background-color: yellow; } aside { grid-area: aside; background-color: white; } footer { grid-area: footer; background-color: pink; } </style> </head> <body> <div class="contenter"> <!-- 第一步,把名字以标签的形式写在div --> <header></header> <nav></nav> <main></main> <aside></aside> <footer></footer> </div> </body> </html>