CSS Grid 佈局由兩個核心組成部分是 wrapper(父元素)和 items(子元素)。 wrapper 是實際的 grid(網格),items 是 grid(網格) 內的內容。下面是一個 wrapper 元素,內部包含6個 items :css
<div class="wrapper"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> </div>
要把 wrapper 元素變成一個grid(網格)
,只要簡單地把其 display
屬性設置爲grid
便可:web
.wrapper{ display:grid; }
爲了使其成爲二維的網格容器,咱們須要定義列和行。讓咱們建立3列和2行。咱們將使用grid-template-row
和grid-template-column
屬性。app
.wrapper{ display:grid; grid-template-columns:100px 100px 100px; grid-template-rows:50px 50px; }
正如你所看到的,咱們爲grid-template-columns
寫入了 3 個值,這樣咱們就會獲得 3 列。 咱們想要獲得 2 行,所以咱們爲 grid-template-rows
指定了2個值。佈局
這些值決定了咱們但願咱們的列有多寬( 100px ),以及咱們但願行數是多高( 50px ),結果以下:網站
<div class="wrapper"> <div class="item1">1</div> <div class="item2">2</div> <div class="item3">3</div> <div class="item4">4</div> <div class="item5">5</div> <div class="item6">6</div> </div>
如今,咱們來建立一個 3×3 的 grid(網格):spa
.wrapper { display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 100px; }
將獲得如下佈局:code
要定位和調整 items(子元素) 大小,咱們將使用grid-column
和 grid-row
屬性來設置:orm
.item1 { grid-column-start: 1; grid-column-end: 4; }
咱們在這裏要作的是,咱們但願 item1 佔據從第一條網格線開始,到第四條網格線結束。換句話說,它將獨立佔據整行。 如下是在屏幕上顯示的內容:cdn
.item1 { grid-column: 1 / 4; }
爲了確保你已經正確理解了這個概念,咱們從新排列其餘的 items(子元素) 。blog
.item1 { grid-column-start: 1; grid-column-end: 3; } .item3 { grid-row-start: 2; grid-row-end: 4; } .item4 { grid-column-start: 2; grid-column-end: 4; }
如下是頁面上的佈局效果: