grid(网格)布局


grid(网格)布局

参考链接 http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html

容器属性

display

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

  • grid:块级容器
  • inline-grid:行内容器

grid-auto-columns / rows

  • 设置自动创建的多余网格的列宽和行高

grid-template-rows / columns

  • 指定行列宽度

    • 用像素或百分比

      grid-template-rows: 100px 100px 100px;
      grid-template-columns: 33.3% 33.3% 33.3%;
    • repeat()

        grid-template-rows: repeat(3,100px)
    • auto-fill

      grid-template-columns: repeat(auto-fill, 100px);
    • fr单位(既fraction)

      grid-template-columns: 1fr 1fr;
    • minmax(min, max)

  • 网格线名称

    注意三行应制定四行网格线

    • [name]

grid-template-areas

  • 定义区域,名字即为网格网格名
    grid-template-areas: 'a b c'
                               'd e f'
                               'g h i';

不要利用的区域用”点”(.)表示
注意,区域的命名会影响到网格线。每个区域的起始网格线,会自动命名为区域名-start,终止网格线自动命名为区域名-end

grid-row / column-gap

根据最新标准,上面三个属性名的grid-前缀已经删除,grid-column-gap和grid-row-gap写成column-gap和row-gap,grid-gap写成gap。

  • 指定行列的间距

  • 合并写法

    • grid-gap: <grid-row-gap> <grid-column-gap>;
    • gap: <row-gap> <column-gap>;

grid-auto-flow 先行后列

单元格内容的位置

  • align-items 垂直方向
  • justify-items 水平方向
  • 合并写法: place-items: <align-items> <justify-items>;

项目整体在容器内的位置

  • justify-content 水平方向

  • align-content 垂直方向

  • place-content 前两个的合并写法

    • place-content: <align-items> <justify-items>;

项目属性

指定项目位置

  • grid-row / column-start / end

    • 写法

      • 网格线数字
      • 网格线名字
      • span:num
      • 重叠了用z-index
    • 简写

      • grid-row / column: <start-line> / <end-line>

指定项目区域名

  • grid-area: 区域名

单元格内容的位置(优先)

  • align-self 垂直方向
  • justify-self 水平方向
  • 合并写法: place-self: <align-items> <justify-items>;

思维导图


文章作者: liheng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liheng !
 上一篇
js设计模式 js设计模式
一、设计模式 重中之重!!!:找出变化的地方,使变化的地方与不变的地方分离 1. 单例模式 singleton 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 实现:用变量标志当前的是否已经为该类创造过实例对象,如果创造过则
2020-10-16 liheng
下一篇 
git常用命令 git常用命令
集中式和分布式版本控制系统的区别 分布式版本控制系统:每个开发者都有整个代码库的所有版本,在离线状态下开发者可以进行版本管理开发, 等网络恢复再push到仓库中。 集中式版本控制系统:每个开发者只有应用代码库的一个版本,在离线状态下开发
2020-09-30 liheng
  目录