基本例子

屬性 可能的值
display 網格/內聯網格

CSS Grid 被定義為顯示屬性。它僅適用於父元素及其直接子元素。

考慮以下標記:

<section class="container">
  <div class="item1">item1</div>
  <div class="item2">item2</div>
  <div class="item3">item3</div>
  <div class="item4">item4</div>
</section>

將上面的標記結構定義為網格的最簡單方法是將其 display 屬性設定為 grid

.container {
  display: grid;   
}

但是,這樣做總會導致所有子元素在彼此之上崩潰。這是因為孩子們目前不知道如何在網格中定位自己。但我們可以明確告訴他們。

首先,我們需要告訴網格元素 .container 將構成其結構的行數和列數,我們可以使用 grid-columnsgrid-rows 屬性來做到這一點(注意複數):

.container {
  display: grid;
  grid-columns: 50px 50px 50px;
  grid-rows: 50px 50px;
}

但是,這對我們來說仍然沒有多大幫助,因為我們需要為每個子元素命令。我們可以通過指定 grid-rowgrid-column 值來實現這一點,這些值將告訴它它在網格中的位置:

.container .item1 {
  grid-column: 1;
  grid-row: 1;
}
.container .item2 {
  grid-column: 2;
  grid-row: 1;
}
.container .item3 {
  grid-column: 1;
  grid-row: 2;
}
.container .item4 {
  grid-column: 2;
  grid-row: 2;
}

通過為每個專案提供列和行值,它標識容器中的專案順序。

JSFiddle 上檢視一個工作示例。你需要在 IE10,IE11 或 Edge 中檢視此內容才能使其正常工作,因為這些是目前唯一支援網格佈局的瀏覽器(帶有供應商字首 -ms-)或根據 caniuse 在 Chrome,Opera 和 Firefox 中啟用標記以便測試跟他們。