MDN之Web 开发技术【grid】

喜欢ヅ旅行 2021-07-04 16:06 908阅读 0赞

grid 是一个CSS简写属性,可以用来设置以下属性:
显式网格属性 grid-template-rows、grid-template-columnsgrid-template-areas
隐式网格属性 grid-auto-rows、grid-auto-columnsgrid-auto-flow
间距属性 grid-column-gapgrid-row-gap

注意:您仅可在一个 grid 属性中声明显式或隐式网格。与其他简写属性同样,若有次级属性未被声明,其将使用初始值。另外,尽管此简写声明无法设置网格的槽(gutter),槽会被该声明重置。

语法

  1. /* <'grid-template'> values */
  2. grid: none;
  3. grid: "a" 100px "b" 1fr;
  4. grid: [linename1] "a" 100px [linename2];
  5. grid: "a" 200px "b" min-content;
  6. grid: "a" minmax(100px, max-content) "b" 20%;
  7. grid: 100px / 200px;
  8. grid: minmax(400px, min-content) / repeat(auto-fill, 50px);
  9. /* <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? values */
  10. grid: 200px / auto-flow;
  11. grid: 30% / auto-flow dense;
  12. grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
  13. grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;
  14. /* [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> values */
  15. grid: auto-flow / 200px;
  16. grid: auto-flow dense / 30%;
  17. grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
  18. grid: auto-flow dense 40% / [line1] minmax(20em, max-content);
  19. /* Global values */
  20. grid: inherit;
  21. grid: initial;
  22. grid: unset;

<'grid-template'>

定义了 grid-template,其包含 grid-template-columns,grid-template-rowsgrid-template-areas

<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?

通过 grid-template-rows 属性显式设置行轨道来设置自动流(grid-template-columns 属性设为 none),并通过 grid-auto-columns 明确该如何自动重复列轨道(同时grid-auto-rows属性设为 auto)。grid-auto-flow 属性也被相应的设置为 column,并可附有 dense
所有其余 grid 次级属性被重置为初始值。

[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>

通过 grid-template-columns 属性显式设置列轨道来设置自动流(grid-template-rows 属性设为 none),并通过 grid-auto-rows 明确该如何自动重复行轨道(同时grid-auto-columns属性设为 auto)。grid-auto-flow 属性也被相应的设置为 row,并可附有 dense
所有其余 grid 次级属性被重置为初始值。

标准语法

  1. <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>

实例

HTML

  1. <div id="container">
  2. <div></div>
  3. <div></div>
  4. <div></div>
  5. <div></div>
  6. <div></div>
  7. <div></div>
  8. <div></div>
  9. <div></div>
  10. </div>

CSS

  1. #container {
  2. display: grid;
  3. grid: repeat(2, 60px) / auto-flow 80px;
  4. }
  5. #container > div {
  6. background-color: #8ca0ff;
  7. width: 50px;
  8. height: 50px;
  9. }

结果
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,908人围观)

还没有评论,来说两句吧...

相关阅读