Grid布局

Grid 布局类似于flex布局,当你给一个容器加上这条display:grid,就意味着它是一个容器cointainer,也就意味着它的后代的子元素也就成为该容器的member
容器里面的水平区域称为"行"row,垂直区域称为"列"column

注意:设为网格布局以后,容器子元素(项目)的float、display: inline-block、display: table-cell、vertical-align和column-*等设置都将失效。

一、grid-template-columns & grid-template-rows

grid-template-columns :定义每一列的列宽
grid-template-rows:定义每一行的行高

代码

效果

ps:
单位:除了熟悉的px %,还新增了一个fr,它就是一个比例的单位
比如grid-template-columns: 1fr 2fr;,这个语句就表示者是前者的两倍。

二、grid-row-gap grid-column-gap grid-gap

grid-row-gap:设置行与行的间隔(行间距)
grid-column-gap:设置列与列的间隔(列间距)
grid-gap :是grid-row-gapgrid-column-gap 的合写

三、grid-template-areas

grid-template-areas:用于定义区域。

代码

效果

四、grid-auto-flow

grid-auto-flow:放置顺序,默认值为row,即先行后列,效果如上图

  • grid-auto-flow :column
    设置先列后行

    效果
  • grid-auto-flow :row dense:表示"先行后列",并且尽可能紧密填满,尽量不出现空格
  • grid-auto-flow:column dense:表示"先列后行",并且尽量填满空格

五、justify-items align-items place-items

justify-items:设置单元格内容的水平位置(左中右)
align-items:设置单元格内容的垂直位置(上中下)
他俩的取值一样,有:

  • start:对齐单元格的起始边缘。
  • end:对齐单元格的结束边缘。
  • center:单元格内部居中。
  • stretch:拉伸,占满单元格的整个宽度(默认值)。
    place-items :是justify-itemsalign-items的合写
    image.png
image.png

六、justify-content align-content place-content

justify-content:整个内容区域在容器里面的水平位置(左中右)
align-content:整个内容区域的垂直位置(上中下)

  • start:对齐容器的起始边框。
  • end:对齐容器的结束边框。
  • center: 容器内部居中。
  • stretch:项目大小没有指定时,拉伸占据整个网格容器。
    -space-around: 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。
  • space-between: 项目与项目的间隔相等,项目与容器边框之间没有间隔。
  • space-evenly : 项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。
    image.png
image.png

place-content :是justify-contentalign-content的合写

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS Grid(网格) 布局(又称为 “Grid(网格)” ),是一个二维的基于网格的布局系统它的目标是完全改变...
    诺CIUM阅读 1,318评论 0 3
  • 简介CSS网格布局(又称“网格”),是一种二维网格布局系统。CSS在处理网页布局方面一直做的不是很好。一开始我们用...
    _leonlee阅读 65,209评论 25 173
  • 上一篇,介绍了grid的浏览器兼容和重要的几个概念,接下来继续介绍grid的容器属性。 Grid(网格) 属性目录...
    codeTao阅读 2,097评论 0 1
  • Grid 是CSS中最强大的布局系统。它是2-Dimensional System,这意味着它可以同时处理列和行....
    邢烽朔阅读 2,616评论 0 5
  • 前言 之前写过一篇关于flex的布局,但是发现很多的问题,flex布局虽然可以解决,但是解决起来比较复杂,究其本质...
    kim_jin阅读 887评论 2 3