Grid 布局与 Flex 布局有肯定的相似性,都能够指定容器外部多个我的项目的地位。然而,它们也存在重大区别。

Flex 布局是轴线布局,只能指定"我的项目"针对轴线的地位,能够看作是一维布局。Grid 布局则是将容器划分成"行"和"列",产生单元格,而后指定"我的项目所在"的单元格,能够看作是二维布局。Grid 布局远比 Flex 布局弱小。

看个具体的例子:

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width">  <title>JS Bin</title>  <style>  span {  font-size: 2em;}#container{  display: grid;  grid-template-columns: 50px 50px 50px;  grid-template-rows: 50px 50px 50px;}.item {  font-size: 2em;  text-align: center;  border: 1px solid #e5e4e9;}.item-1 {  background-color: #ef342a;}.item-2 {  background-color: #f68f26;}.item-3 {  background-color: #4ba946;}.item-4 {  background-color: #0376c2;}.item-5 {  background-color: #c077af;}.item-6 {  background-color: #f8d29d;}.item-7 {  background-color: #b5a87f;}.item-8 {  background-color: #d0e4a9;}.item-9 {  background-color: #4dc7ec;}</style></head><body>  <span>foo</span><div id="container">  <div class="item item-1">1</div>  <div class="item item-2">2</div>  <div class="item item-3">3</div>  <div class="item item-4">4</div>  <div class="item item-5">5</div>  <div class="item item-6">6</div>  <div class="item item-7">7</div>  <div class="item item-8">8</div>  <div class="item item-9">9</div></div><span>bar</span></body></html>

成果如下:

当页面上的 HTML 元素利用了 display: grid 或 display: inline-grid 时,您能够在“款式”窗格中看到它旁边呈现一个图标。 单击该图标可切换 CSS 网格编辑器。 在这里,您能够应用屏幕图标(例如 justify-content: space-around)预览潜在的变动,只需单击一下即可创作网格外观。

更多Jerry的原创文章,尽在:"汪子熙":