介紹
CSS Grid(網(wǎng)格) 布局使我們能夠比以往任何時(shí)候都可以更靈活構(gòu)建和控制自定義網(wǎng)格。 Grid(網(wǎng)格) 布局使我們能夠?qū)⒕W(wǎng)頁分成具有簡單屬性的行和列。它還能使我們在不改變?nèi)魏蜨TML的情況下,使用 CSS 來定位和調(diào)整網(wǎng)格內(nèi)的每個(gè)元素。它允許 HTML 純粹作為內(nèi)容的容器。HTML 結(jié)構(gòu)不再受限于樣式表現(xiàn),比如不要為了實(shí)現(xiàn)某種布局而多次嵌套,現(xiàn)在這些都可以讓 CSS 來完成。
定義一個(gè)網(wǎng)格
Grid(網(wǎng)格) 模塊為
display 屬性提供了一個(gè)新的值: grid 。當(dāng)你將任何元素的 display 屬性設(shè)置為 grid 時(shí),那么這個(gè)元素就是一個(gè) 網(wǎng)格容器(grid container),它的所有直接子元素就成了 網(wǎng)格項(xiàng)(grid items)。讓我們創(chuàng)建創(chuàng)建一個(gè) 3×3 的布局,做一個(gè) Tic-Tac-Toe (井字游戲) 棋盤。
首先,我們將寫一些 HTML:
<div class="game-board">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>如您所見,
.game-board div 是網(wǎng)格容器,而 .box div 是網(wǎng)格項(xiàng)。現(xiàn)在我們將通過 Grid 布局來實(shí)現(xiàn) 3×3 布局。
.game-board
{
display: grid;
grid-template-rows: 200px 200px 200px;
grid-template-columns: 200px 200px 200px;
}在這里,我還使用了其他兩個(gè)屬性。
屬性允許我們指定網(wǎng)格中的行數(shù)及行的高度。那么你應(yīng)該猜到另一個(gè)屬性是干什么的了。grid-template-rows
屬性允許我們指定網(wǎng)格中的列數(shù)及列的寬度。您可以指定任何單位的尺寸大小,包括像素,百分比和其他單位 grid-template-columns
fr ,我們將在下一步學(xué)習(xí)。fr 單位(等分)
fr 是為網(wǎng)格布局定義的一個(gè)新單位。它可以幫助你擺脫計(jì)算百分比,并將可用空間等分。例如,如果在網(wǎng)格容器中設(shè)置這個(gè)規(guī)則: grid-template-rows: 2fr 3fr
新聞熱點(diǎn)
疑難解答
圖片精選