<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>css grid網(wǎng)格布局教程</title>
<style>
/* 最強大的css布局方案 */
/* 他將網(wǎng)頁劃分成一個個網(wǎng)絡(luò),可以任意組合不同的網(wǎng)格,做出各種各樣的布局 */
.container {
display: grid;
/* 容器指定了網(wǎng)格布局以后,接著就要劃分行和列。grid-template-columns屬性定義每一列的列寬,grid-template-rows屬性定義每一行的行高 */
/* grid-template-columns: 100px 100px 100px; */
/* grid-template-rows: 100px 100px 100px; */
/* 上面指定了行和高為100px */
/* 除了用絕對單位,也可用使用百分比 */
/* grid-template-columns: 33.33% 33.33% 33.33%; */
/* grid-template-rows: 33.33% 33.33% 33.33%; */
/* repeat */
/* 接受兩個參數(shù),第一個參數(shù)是重復(fù)的次數(shù)(上例是3),第二個參數(shù)是所要重復(fù)的值。 */
/* grid-template-columns: repeat(3, 33.33%); */
/* grid-template-rows: repeat(3, 100%); */
/* auto-fill 表示自動填充 */
/* grid-template-columns: repeat(auto-fill, 100px); */
/* fr關(guān)鍵字 */
/* 為了方便表示比例關(guān)系,網(wǎng)格布局提供了fr關(guān)鍵字(fraction 的縮寫,意為"片段")。如果兩列的寬度分別為1fr和2fr,就表示后者是前者的兩倍。 */
/* grid-template-columns: 1fr 1fr; */
/* fr可以與絕對長度的單位結(jié)合使用,這時會非常方便 */
/* 第一列的寬度為150像素,第二列的寬度是第三列的一半 */
/* grid-template-columns: 100px 1fr 2fr; */
/* minmax() */
/* 函數(shù)產(chǎn)生一個長度范圍,表示長度就在這個范圍之中。它接受兩個參數(shù),分別為最小值和最大值 */
/* grid-template-columns: 1fr 1fr minmax(100px, 1fr); */
/* auto關(guān)鍵安:關(guān)鍵字表示由瀏覽器自己決定長度 */
/* grid-template-columns: 100px auto 100px; */
/* 網(wǎng)格線的名稱 */
/* 屬性里面,還可以使用方括號,指定每一根網(wǎng)格線的名字,方便以后的引用。 */
grid-template-columns: [a1] 100px [a2] 100px [a3] auto;
grid-template-rows: [b1] 200px [b2] 200px [b3] auto;
}
.item {
font-size: 2em;
text-align: center;
border: 1px solid greenyellow;
}
.item-1 {
background-color: red;
}
.item-2 {
background-color: yellowgreen;
}
.item-3 {
background-color: greenyellow;
}
.item-4 {
background-color: blue;
}
.item-5 {
background-color: blueviolet;
}
.item-6 {
background-color: cyan;
}
.item-7 {
background-color: darkorange;
}
.item-8 {
background-color: olivedrab;
}
.item-9 {
background-color: olive;
}
</style>
</head>
<body>
<!-- Flex 布局是軸線布局,只能指定"項目"針對軸線的位置,可以看作是一維布局。Grid 布局則是將容器劃分成"行"和"列",產(chǎn)生單元格,然后指定"項目所在"的單元格,可以看作是二維布局。Grid 布局遠(yuǎn)比 Flex 布局強大 -->
<!-- 容器里面的水平區(qū)域稱為"行"(row),垂直區(qū)域稱為"列"(column) -->
<!-- 行和列的交叉區(qū)域,稱為"單元格"(cell)。 -->
<!-- 正常情況下,n行和m列會產(chǎn)生n x m個單元格。比如,3行3列會產(chǎn)生9個單元格 -->
<p>第一行</p>
<!-- 下面第一個div是容器 -->
<div class="container">
<!-- 以下div是項目 -->
<!-- 注意:項目只能是容器的頂層子元素,不包含項目的子元素,比如上面代碼的<p>元素就不是項目。Grid 布局只對項目生效。 -->
<div class="item item-1"><p>1</p></div>
<div class="item item-2">2</div>
<div class="item item-3">3</div>
<div class="item item-4">4</div>
<div class="item item-5">5</div>
<div class="item item-6">6</div>
<div class="item item-7">7</div>
<div class="item item-8">8</div>
<div class="item item-9">9</div>
</div>
<p>最后一行</p>
</body>
</html>
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號