網(wǎng)格布局
1. 前言
在響應(yīng)式布局這一領(lǐng)域內(nèi),grid 布局簡直有著當(dāng)仁不讓的天生優(yōu)勢,即使是chinese-layout的底層也依賴的是 grid 布局,grid 可在短短幾行代碼之中就快速實(shí)現(xiàn)出各種布局。
當(dāng)然,各種布局肯定也包括響應(yīng)式,不過由于 grid 布局較為復(fù)雜,一言難盡,所以在這里貼上兩個(gè)較為流行的 grid 入門教程地址:
很多人擔(dān)心Grid的兼容性:
其實(shí)可以看到絕大部分瀏覽器都已經(jīng)支持了,即使是最被吐槽的IE瀏覽器,也可以通過增加-ms-前綴來進(jìn)行支持,
如:display: -ms-grid;
2. 實(shí)現(xiàn)
來看一下代碼怎么寫:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 在這里用link標(biāo)簽引入中文漸變色 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chinese-gradient">
<style>
/* 清除默認(rèn)樣式 */
* { padding: 0; margin: 0 }
/* 父元素 */
ul {
/* 清除默認(rèn)樣式 */
list-style: none;
/* 顯示為grid */
display: grid;
/* 自動(dòng)添加行數(shù) 列數(shù)自動(dòng)填充 每列不低于100px */
grid: auto-flow auto / repeat(auto-fit, minmax(100px, 1fr));
/* 5px的間距 */
gap: 5px
}
/* 子元素 */
li {
/* 100px的高度 */
height: 100px;
/* 綠色漸變 */
background: var(--極光綠)
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
運(yùn)行結(jié)果:
3. 小結(jié)
Grid 布局是近些年來逐漸興起的一種布局方式,它的功能十分強(qiáng)大。
用它可以輕松的實(shí)現(xiàn)響應(yīng)式布局,以前要很多行代碼很多行判斷的復(fù)雜布局,再掌握了Grid之后也都不在話下。
當(dāng)然現(xiàn)在不懂沒關(guān)系,因?yàn)槲覀兘酉聛磉€會(huì)專門出一門 Grid 布局的教程,敬請(qǐng)期待!