Grid


网格布局(Grid)是最强大的 CSS 布局方案。 将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。 Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局Grid 布局则是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局Grid 布局远比 Flex 布局强大。

.box{
	display:grid;
}

行元素使用flex布局;

.box{
	display:inline-grid;
}

<aside> 💡 注意,设为网格布局以后,容器子元素(项目)的floatdisplay: inline-blockdisplay: table-cellvertical-aligncolumn-* 等设置都将失效。

</aside>

浏览器支持情况

桌面(Desktop) 浏览器
Chrome Opera Firefox IE Edge Safari
57 44 52 11*(旧语法) 16 10.1
手机(Mobile) / 平板(Tablet)浏览器
iOS Safari Opera Mobile Opera Mini Android Android Chrome Android Firefox
10.3 46 No 67 70 63

基本概念


容器(Grid Container)和项目

采用网格布局的区域,称为"容器"(container)。

容器内部采用网格定位的子元素,称为"项目"(item)。

<div>
  <div><p>1</p></div>
  <div><p>2</p></div>
  <div><p>3</p></div>
</div>

<aside> 💡

注意:项目只能是容器的顶层子元素,不包含项目的子元素,比如上面代码的<p>元素就不是项目Grid 布局只对项目生效。

</aside>