名词解释
div{$}*9+tab键,快捷生成
记首字母gtc
网格布局:display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 100px; (父元素)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* 设置之网格布局 */display: grid;/* 设置纵向单元格属性(列) */grid-template-columns: 50px 20% auto;/* 20% 占父盒子的20% *//* 设置横向单元格属性(行) */grid-template-rows: 2fr 1fr 0.5fr;/* fraction n份 */}.box div{background-color: pink;width: 20px;height: 20px;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div></div>
</body>
</html>
合并单元格:父盒子grid-template-areas:"a1 a1 a2" "a1 a1 a2""a3 a3 a3"; 子盒子grid-area: a1;
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* 设置之网格布局 */display: grid;/* 设置纵向单元格属性(列) *//* grid-template-columns: 50px 20% auto; *//* 20% 占父盒子的20% *//* 设置横向单元格属性(行) *//* grid-template-rows: 2fr 1fr 0.5fr; *//* fraction n份 */grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr 1fr 1fr;grid-template-areas: "a1 a1 a2""a1 a1 a2""a3 a3 a3";}.box div{background-color: pink;/* width: 20px;height: 20px; */border: 1px solid black;}.box div:nth-of-type(1){grid-area: a1;/* 指定元素代表单元格模板中的哪个标识 */}.box div:nth-of-type(2){grid-area: a2;}.box div:nth-of-type(3){grid-area: a3;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><!-- <div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div> --></div>
</body>
</html>
组合属性:grid-template:"a1 a1 a2" 1fr "a1 a1 a2" 1fr"a3 a3 a3" 1fr/ 1fr 1fr 1fr;}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* 设置之网格布局 */display: grid;/* 设置纵向单元格属性(列) *//* grid-template-columns: 50px 20% auto; *//* 20% 占父盒子的20% *//* 设置横向单元格属性(行) *//* grid-template-rows: 2fr 1fr 0.5fr; *//* fraction n份 *//* grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr 1fr 1fr;grid-template-areas: "a1 a1 a2""a1 a1 a2""a3 a3 a3"; *//* 组合属性 */grid-template: "a1 a1 a2" 1fr"a1 a1 a2" 1fr"a3 a3 a3" 1fr/ 1fr 1fr 1fr;}.box div{background-color: pink;/* width: 20px;height: 20px; */border: 1px solid black;}.box div:nth-of-type(1){grid-area: a1;/* 指定元素代表单元格模板中的哪个标识 */}.box div:nth-of-type(2){grid-area: a2;}.box div:nth-of-type(3){grid-area: a3;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><!-- <div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div> --></div>
</body>
</html>
行间隙row-gap: 20px;列间隙column-gap: 30px; 组合gap:20px 30px;
也可用于弹性盒子
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* 设置之网格布局 */display: grid;/* 设置纵向单元格属性(列) *//* grid-template-columns: 50px 20% auto; *//* 20% 占父盒子的20% *//* 设置横向单元格属性(行) *//* grid-template-rows: 2fr 1fr 0.5fr; *//* fraction n份 *//* grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr 1fr 1fr;grid-template-areas: "a1 a1 a2""a1 a1 a2""a3 a3 a3"; *//* 组合属性 */grid-template: "a1 a1 a2" 1fr"a1 a1 a2" 1fr"a3 a3 a3" 1fr/ 1fr 1fr 1fr;/* row-gap: 20px;column-gap: 30px; */gap: 20px 30px}.box div{background-color: pink;/* width: 20px;height: 20px; */border: 1px solid black;}.box div:nth-of-type(1){grid-area: a1;/* 指定元素代表单元格模板中的哪个标识 */}.box div:nth-of-type(2){grid-area: a2;}.box div:nth-of-type(3){grid-area: a3;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><!-- <div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div> --></div>
</body>
</html>
子元素对齐 主轴 justify-items: end/start/auto/center; 交叉轴align-items ; 组合place-items: center end;(交叉轴 主轴)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* display: flex;flex-wrap: wrap;row-gap: 20px;column-gap: 20px; */display: grid;grid-template-columns: 1fr 1fr 1fr;grid-template-columns: 1fr 1fr 1fr;/* justify-items: end;align-items: center; */place-items: center end;}.box div{width: 50px;height: 50px;background-color: pink;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div></div>
</body>
</html>
单元格对齐 justify-content: space-around;align-content: center;组合place-content: center space-around;
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;/* display: flex;flex-wrap: wrap;row-gap: 20px;column-gap: 20px; */display: grid;grid-template-columns: 50px 50px 50px;grid-template-columns: 50px 50px 50px;/* justify-items: end;align-items: center; *//* place-items: center end; *//* justify-content: space-around;align-content: center; */place-content: center space-around; }.box div{width: 50px;height: 50px;background-color: pink;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div></div>
</body>
</html>
隐式单元格 grid-auto-flow: row; grid-auto-rows: 50px;
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 300px;height: 300px;background-color: skyblue;display: grid;grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr;/* 控制隐式单元格 */grid-auto-flow: row;grid-auto-rows: 50px;/* grid-auto-flow: column; *//* grid-auto-columns: 150px; */}.box div{background-color: pink;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div></div>
</body>
</html>
默认
控制隐式单元格后