grid布局

前言

grid即网格,是在行(横),列(纵)的二维空间中的布局。多行和多列的交叉必然会产生单元格(items),指定的二维空间就是container。

  • what:grid布局即在二维平面内的多行多列的布局方式
  • why:应对平面内多行多列的复杂布局
  • how:display:grid || inline-grid

container

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

注:(1)repeat():接收两个参数,重复次数,重复值

(2)auto-fill:当作repeat函数中的第一个值,自动填充,主要用于单元格大小固定,容器大小不固定的情况

(3)fr:单元格之间的比例关系

(4)minmax():长度范围,在最小值与最大值之间

(5)auto:浏览器自己决定

(6)网格线名称:可以为每个单元格指定别名,如:grid-template-columns:[c1] 100px [c2] 100px [c3] auto [c4];

  • grid-row-gap:行与行之间的间隔(行间距)
  • grid-column-gap:列与列之间的间隔(列间距)
  • grid-gap:grid-row-gap和grid-column-gap的缩写

 

  • grid-template-areas:给容器划分区域,一个区域可能有多个单元格组成,使用时指定给每个单元格填上该区域的名称,区域名称自取。如:

image.png

  • grid-auto-flow:子元素的排列顺序
    • row:先行后列。row dense表示不出现空格的排列方式
    • column:先列后行。column dense表示不出现空格排列方式
  • justify-items:所有单元格里面的内容水平方向的对齐方式
    • start
    • end
    • center
    • stretch:拉伸对齐
  • align-items:所有单元格里面的内容垂直方向对齐方式
    • start
    • end
    • center
    • stretch:拉伸对齐
  • place-items:justify-items || align-items
  • justify-content:所有单元格看成一个整体,在容器中的水平方向的对齐方式
    • start
    • end
    • center
    • stretch
    • space-around:每个item两侧距离相等
    • space-between:item之间间隔相等,item与container边框无间隔
    • space-evenly:item之间间隔和item与container容器间隔间隔相等
  • align-content:所有单元格看成一个整体,在容器中的垂直方向的对齐方式
    • 同上
  • place-content:justify-content || align-content
  • grid-auto-columns:超出指定行列时,浏览器自动生成多余的网格。指定超出单元格的列宽
    • 同grid-template-columns
  • grid-auto-rows:超出指定行列时,浏览器自动生成多余的网格。指定超出单元格的行高
    • 同grid-template-rows
  • grid-template:grid-template-rows || grid-template-columns || grid-template-areas
  • grid:grid-template-rows || grid-template-columns || grid-template-areas || grid-auto-rows || grid-auto-columns || grid-auto-flow

items

  • grid-column-start:该子盒子左边框所对齐的垂直网格线
    • 取值为数字,可用span,表示跨越,如:grid-column-start: span 2;
  • grid-column-end:该盒子右边框所对齐的垂直网格线
    • 同上
  • grid-row-start:该子盒子上边框所对齐的水平网格线
    • 同上
  • grid-row-end:该子盒子下边框所对齐的水平网格线
    • 同上
  • grid-column:grid-column-start || grid-column-end
  • grid-row:grid-row-start || grid-row-end
  • grid-area:该子盒子该放在哪个区域
    • 取值为区域名称
  • justify-self:该子盒子内容在水平方向上的对齐方式
    • start
    • end
    • center
    • stretch
  • align-self:该子盒子内容在垂直方向上的对齐方式
    • 同上
  • place-self:justify-self || align-self

参考文章

posted @ 2019-11-20 16:02  mingL  阅读(167)  评论(0编辑  收藏  举报