网格整体布局
容器(最外面)–>网格(蓝色部分)–>项目(红色部分)
网格触发
display:grid
容器划分为几行几列
grid-template-columns: repeat(3, 1fr); grid-template-rows: 100px;
行列可以设置不同的参数,如100px纯数值、百分比、重复函数auto、auto-fill、minmax函数等具体需要查官网,1fr、2fr指比例大小为1:2按比例来划分容器用这个更方便一些
单元格之间的间距
gap:10px;(紫色部分)
项目在网格中的显示顺序
grid-auto-flow (row横向显示,column纵向显示)
项目在网格中的对齐方式
justify-items: end;(start左、center中、end右)align-items: end;(start上、center中、end下)
合并:place-item:center center
网格在容器中的对齐方式
justify-content: center;(start左、center中、end右) align-content: center;(start上、center中、end下)
合并:place-content :end start 位于左下角
space-around:两边间距时里面间距的1/2
space-evenly各间距一致
space-between 最两边没有间距
合并单元格
最终案例
<!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>Document</title>
<style>
* {
margin: 0px;
padding: 0px;
}
.container {
margin: 100px auto;
border: gray solid 10px;
width: 1700px;
height: 500px;
display: grid;
grid-template-columns: repeat(13, 100px);
grid-template-rows: repeat(4, 100px);
gap: 10px;
place-content: space-evenly;
}
.container>div {
background-color: orange;
}
.box1 {
grid-row: 1/2;
grid-column: 10/12;
}
.box2 {
grid-row: 2/3;
grid-column: 1/3;
}
.box3 {
grid-row: 3/5;
grid-column: 1/3;
}
.box4 {
grid-row: 2/4;
grid-column: 6/9;
}
.box5 {
grid-row: 1/3;
grid-column: 12/14;
}
.box6 {
grid-row: 4/5;
grid-column: 12/14;
}
</style>
</head>
<body>
<div class="container">
<div class="box1">1</div>
<div class="box2">2</div>
<div class="box3">3</div>
<div class="box4">4</div>
<div class="box5">5</div>
<div class="box6">6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
<div>24</div>
<div>25</div>
<div>26</div>
<div>27</div>
<div>28</div>
<div>29</div>
<div>30</div>
<div>31</div>
<div>32</div>
<div>33</div>
<div>34</div>
<div>35</div>
<div>36</div>
<div>37</div>
<div>38</div>
</div>
</body>
</html>
参考视频:https://www.bilibili.com/video/BV1Qg411b7od?p=17&vd_source=0d91e9957dd86f8f2b52c0440664c352