欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS中Grid布局的用法总结(附代码)

程序员文章站 2022-04-10 11:38:12
...
这篇文章给大家介绍的内容是关于CSS中Grid 布局的用法总结(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助

1. 基础用法

Grid 布局的核心属性有5个:

.parent {
    display: grid;
    grid-template-colomns: 30px 1fr;
    grid-template-rows: repeat(3, 30px) 1fr;
    & > .child {
        grid-column: 1 / 3;
        grid-row: 1;
    }
}

总的来说, Grid 布局就是: 父元素先定义好自己有几行几列. 然后, 子元素定义自己在第几行第几列(可以跨越多行或者多列).

其中, display 属性大家应该很熟悉了吧? 这里不再多说.

repeat函数表示将1个css值重复n遍.

gird-column可以拆分为grid-column-startgrid-column-end两个属性.

gird-row可以拆分为grid-row-startgrid-row-end两个属性.

2. grid-template-areasgrid-area

grid-template-areas这个属性其实有点象形文字的意思.

.parent {
    display: grid;
    grid-template-colomns: 100px 1fr;
    grid-template-rows: 1fr 50px;
    grid-template-areas:
        "nav    content"
        "footer footer ";

    & > .item1 {
      grid-area: nav;
    }
    & > .item2 {
      grid-area: content;
    }
    & > .item3 {
      grid-area: footer;
    }
}

上面我们将父元素分成了4格. 然后将左上的格子命名为nav, 右上的格子命名为content, 底部的格子命名为footer.

最后, 我们只需要在子元素中指定自己属于哪个区域就可以了.

这样写有一个好处: 我们再也不用写枯燥难懂的grid-columngrid-row了, 可以给自己的区域起一个语义化的名字

3. row-gap, colomns-gap, grid-gap

类似Flex, Grid 布局也支持行间距和列间距.

grid-gaprow-gapcolomns-gap的合并.

grid-gap也可以简写为gap.

注意: colomns-gap 的默认值是 normal, 表示列间距为1em

4. grid-auto-columnsgrid-auto-rows

如果你事先不知道你的网格有几行(有几列), 这两个属性可以帮到你. 就像字面意思一样, 这个属性表示自增长的网格行(列)的高度(宽度)

尤其是当你渲染一个不定长度的列表的时候, 这个属性会非常有用.

例如:

.parent {
    display: grid;
    grid-template-colomns: 1fr;
    grid-auto-rows: 100px;

    & > .child {
        grid-column: 1;
    }
}

相关文章推荐:

关于弹性盒布局的介绍(附代码)

CSS实现响应式布局的方法

以上就是CSS中Grid布局的用法总结(附代码)的详细内容,更多请关注其它相关文章!

相关标签: Grid布局