
批改狀態(tài):合格
老師批語(yǔ):
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 建立body是 grid主體 并且定義讓多行容器居中 */
body {
/* border: 1px solid; */
width: 100vw;
height: 100vh;
display: grid;
place-content: center;
}
.container {
width: 80vw;
display: grid;
gap: 0.5em;
}
.container > .row {
/* 定義這行是gird容器,并且分成12列 */
display: grid;
/* 用repeat函數(shù)塊數(shù)分列 */
grid-template-columns: repeat(12, 1fr);
min-height: 3em;
gap: 0.5em;
}
.container .row .item {
border: 1px solid;
padding: 1em;
background: lime;
}
/* 設(shè)置項(xiàng)目 列數(shù)合并從1到12列 */
.columns-12 {
grid-area: auto / span 12;
}
.columns-11 {
grid-area: auto / span 11;
}
.columns-10 {
grid-area: auto / span 10;
}
.columns-9 {
grid-area: auto / span 9;
}
.columns-8 {
grid-area: auto / span 8;
}
.columns-7 {
grid-area: auto / span 7;
}
.columns-6 {
grid-area: auto / span 6;
}
.columns-5 {
grid-area: auto / span 5;
}
.columns-4 {
grid-area: auto / span 4;
}
.columns-3 {
grid-area: auto / span 3;
}
.columns-2 {
grid-area: auto / span 2;
}
.columns-1 {
grid-area: auto / span 1;
}
建立的好處就是,只要你想布局,可以隨時(shí)利用里面的小組件,按照你自己的想法來(lái)實(shí)現(xiàn)布局,下面來(lái)實(shí)現(xiàn)一個(gè)經(jīng)典的圣杯布局。
如果傳統(tǒng)方式用flex或者定位來(lái)做這個(gè)布局的話,非常的麻煩,而grid不到10行代碼就可以把這個(gè)布局給寫出來(lái),當(dāng)然,要用到我們上面寫好的小組件才行,現(xiàn)在我們來(lái)看看是怎么樣寫的。
<!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>grid圣杯布局</title>
<style type="text/css">
@import url(grid.css);
.row:nth-of-type(2){
height: 80vh;
}
</style>
</head>
<body>
<!-- 頁(yè)眉 -->
<div class="container">
<div class="row">
<div class="item columns-12">header</div>
</div>
<!-- 主體 -->
<!-- 分成2列 8列 2列的形式 -->
<div class="row">
<div class="item columns-2" style="background: violet;">left</div>
<div class="item columns-8" style="background:lawngreen;"> main</div>
<div class="item columns-2" style="background: violet;">right</div>
</div>
<!-- 頁(yè)腳 -->
<div class="row">
<div class="item columns-12">footer</div>
</div>
</div>
</div>
</div>
</body>
</html>
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)