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的原创文章,尽在:"汪子熙":