Grid 布局入门

CSS Grid 布局由两个核心组成部分是 wrapper(父元素)和 items(子元素)。 wrapper 是实际的 grid(网格),items 是 grid(网格) 内的内容。

1
//HTML
2
<div class="wrapper">
3
  <div>1</div>
4
  <div>2</div>
5
  <div>3</div>
6
  <div>4</div>
7
  <div>5</div>
8
  <div>6</div>
9
</div>

使用grid-template-row和grid-template-column属性

1
//CSS
2
.wrapper {
3
    display: grid;
4
    grid-template-columns: 100px 100px 100px;
5
    grid-template-rows: 50px 50px;
6
}

显示如下:

再看一个例子

1
.wrapper {
2
    display: grid;
3
    grid-template-columns: 200px 50px 100px;
4
    grid-template-rows: 100px 30px;
5
}

显示如下:

items子元素

给每个items元素加上class

1
<div class="wrapper">
2
  <div class="item1">1</div>
3
  <div class="item2">2</div>
4
  <div class="item3">3</div>
5
  <div class="item4">4</div>
6
  <div class="item5">5</div>
7
  <div class="item6">6</div>
8
</div>
1
.wrapper {
2
    display: grid;
3
    grid-template-columns: 100px 100px 100px;
4
    grid-template-rows: 100px 100px 100px;
5
}

给子元素添加css

1
.item1 {
2
    grid-column-start: 1;
3
    grid-column-end: 4;
4
}
5
//简写
6
.item1 {
7
    grid-column: 1 / 4;
8
}

显示如下:

再看个例子

1
.item1 {
2
    grid-column-start: 1;
3
    grid-column-end: 3;
4
}
5
.item3 {
6
    grid-row-start: 2;
7
    grid-row-end: 4;
8
}
9
.item4 {
10
    grid-column-start: 2;
11
    grid-column-end: 4;
12
}

显示如下: