美文网首页
Grid布局

Grid布局

作者: 古水木 | 来源:发表于2019-05-07 23:59 被阅读0次

    http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html

    Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局。Grid 布局则是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局。Grid 布局远比 Flex 布局强大。

    1.容器属性

    1.1display 属性

    div {
      display: grid;//display: grid指定一个容器采用网格布局。
    }
    

    1.2

    grid-template-columns 属性,
    grid-template-rows 属性
    定义列宽和行宽

    .container {
      display: grid;
      grid-template-columns: 100px 100px 100px;
      grid-template-rows: 100px 100px 100px;
    }
    

    除了使用绝对单位,也可以使用百分比。

    .container {
      display: grid;
      grid-template-columns: 33.33% 33.33% 33.33%;
      grid-template-rows: 33.33% 33.33% 33.33%;
    }
    

    (1)repeat()

    .container {
      display: grid;
      grid-template-columns: repeat(3, 33.33%);
      grid-template-rows: repeat(3, 33.33%);
    }
    

    (2)auto-fill 关键字
    可以使用auto-fill关键字表示自动填充。

    .container {
      display: grid;
      grid-template-columns: repeat(auto-fill, 100px);
    }
    

    (3)fr 关键字(fraction 的缩写)

    .container {
      display: grid;
      grid-template-columns: 150px 1fr 2fr;
    }
    

    第一列的宽度为150像素,第二列的宽度是第三列的一半。
    (5)auto 关键字

    grid-template-columns: 100px auto 100px;
    

    第二列的宽度,基本上等于该列单元格的最大宽度
    (6)网格线的名称

    .container {
      display: grid;
      grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
      grid-template-rows: [r1] 100px [r2] 100px [r3] auto [r4];
    }
    

    (7)布局实例

    .wrapper {
      display: grid;
      grid-template-columns: 70% 30%;
    }
    

    上面代码将左边栏设为70%,右边栏设为30%。

    1.3

    grid-row-gap 属性,
    grid-column-gap 属性,
    grid-gap 属性

    .container {
      grid-row-gap: 20px;
      grid-column-gap: 20px;
    }
    

    1.4 grid-template-areas 属性

    用于定义区域。

    grid-template-areas: 'a a a'
                         'b b b'
                         'c c c';
    

    1.5 grid-auto-flow 属性

    划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。

    grid-auto-flow: column;//设置先竖排放置
    

    1.6

    justify-items 属性,
    align-items 属性,
    place-items 属性

    1.7 设置单元格内容的位置

    justify-content 属性,
    align-content 属性,
    place-content 属性
    整个内容区域在容器里面的位置

    相关文章

      网友评论

          本文标题:Grid布局

          本文链接:https://www.haomeiwen.com/subject/ckzyoqtx.html