资讯专栏INFORMATION COLUMN

CSS Grid 布局学习笔记

wpw / 2728人阅读

摘要:布局学习笔记布局学习笔记好久没有写博客了上关于布局的知识比较零散正好根据我这几个月的实践对布局做一个总结以备查阅基础用法基础用法布局的核心属性有个总的来说布局就是父元素先定义好自己有几行几列然后子元素定义自己在第几行第几列可

CSS Grid 布局学习笔记

好久没有写博客了, MDN 上关于 Grid 布局的知识比较零散, 正好根据我这几个月的实践对 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两个属性.

参考:

  • grid-template-columns
  • grid-template-rows
  • grid-column
  • grid-row

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了, 可以给自己的区域起一个语义化的名字

参考:

  • grid-template-areas
  • grid-area

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

类似各种框架(Bootstrap, Element, iView), Grid 布局也支持行间距和列间距.

grid-gaprow-gapcolomns-gap的合并.

grid-gap也可以简写为gap.

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

参考:

  • column-gap
  • row-gap

4. grid-auto-columnsgrid-auto-rows

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

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

例如:

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

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

参考:

  • grid-auto-columns
  • grid-auto-rows

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/1966.html

相关文章

  • (译)原生CSS网格布局学习笔记

    摘要:你可以用网格这样做这样的显示效果是没什么错误的,当使用网格,重新定义列数非常简单。绝对定位当我们绝对定位一个网格元素的时候,这个元素会跑到它的容器中,我们可以用和来定位它。最简单的命名约定使用网格自动编号。 注:此文是我翻译的第一篇技术文章。适合有一定CSS原生网格布局使用经验的开发者(读前需要先去了解一下原生CSS网格的语法),原生CSS网格布局(Native CSS grid)截止...

    v1 评论0 收藏0
  • (译)原生CSS网格布局学习笔记

    摘要:你可以用网格这样做这样的显示效果是没什么错误的,当使用网格,重新定义列数非常简单。绝对定位当我们绝对定位一个网格元素的时候,这个元素会跑到它的容器中,我们可以用和来定位它。最简单的命名约定使用网格自动编号。 注:此文是我翻译的第一篇技术文章。适合有一定CSS原生网格布局使用经验的开发者(读前需要先去了解一下原生CSS网格的语法),原生CSS网格布局(Native CSS grid)截止...

    Warren 评论0 收藏0
  • CSS学习笔记grid布局

    摘要:因而我们可以设置整个部分垂直居中和水平居中其他的对齐方式和中展现的类似,在此不再赘述。如上所述,使用这个属性可以使某个子元素占据在容器元素属性中定义的区域可以看到,号元素占据了区域。目录一、Grid布局简介二、Grid布局的一些概念三、 容器元素属性1. grid-template-*1.1 网格行和列的设置1.2 repeat的使用1.3 使用fr1.4 auto关键字2. row-gap...

    番茄西红柿 评论0 收藏2637
  • 学不动了?可能方法不太对-Grid 网格布局

    摘要:前情提要本人是一个学渣非科班入行年了吧前端东西真的好多啊又不断更新需要不断的学学学在去年年底开始我就开始不断的寻找学习的方法如何更加高效的学习如何才能学的又快又好在这半年来不断的总结慢慢找到了一些方法和诀窍此文章不是网格布局的教学文章只前情提要   本人是一个学渣,非科班入行2年了吧,前端东西真的好多啊,又不断更新.需要不断的学学学, showImg(https://user-gold-c...

    happyfish 评论0 收藏0
  • HTML-CSS

    摘要:但是,从字体上来说雪碧图制作,使用以及相关,图文。由于采用了编译,所以能够保证在浏览器不支持标准布局的情况下,回滚到旧版本的,保证移动设备中能呈现出一样的布局效果。我不想陷入和的纷争,但是有一件事是确定的极大的提升了移动端 一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 ...

    xiaokai 评论0 收藏0

发表评论

0条评论

wpw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<