12-Grid布局

移动 web 开发——grid 布局

1.0 grid 布局

在这里插入图片描述

在这里插入图片描述

1.1 容器属性

  • 当元素设置了网格布局,column、float、clear、vertical-align属性无效。

1.1.1 grid-template-*属性的含义:

  • grid-template-columns: 100px 100px; 有多少列
  • grid-template-row: 100px 100px; 有多少行
    如果只设置列,那么行就会自动填充;如果只设置行,那么列就会自动填充
  • grid-template-row: repeat(3,100px); 三行,每行 100px
  • grid-template-row: repeat(auto-fill,100px); 自动填充,在行上面,不固定个数,随着窗体变化而变化
  • grid-template-row: repeat(3,1fr);分 3 份等分
  • grid-template-row: 1fr 2fr 3fr; 分 3 份按比例划分
  • grid-template-row: 1fr minmax(150px 3fr); 最小值 最大值
  • grid-template-row: 100px auto 100px; 中间自适应
  • grid-template-row: 100px [c1] 100px [c2] 100px [c3]; 添加网格线,帮助定位用
  • min-content列显示一个单词的宽度,max-content列扩展以适应句子的展示。

1.1.2 *-gap 设置行、列间的间距

  • 之前是 grid-row-gap, grid-column-gap
  • row-gap 行的间距
  • column-gap 列的间距

1.1.3 grid-template-areas 单元格所属区域

  • 一个区域由单个或多个单元格组成,由你决定(具体使用,需要在项目属性中设置)区域
  • 区域不需要利用,则用 “.” 表示
  • 区域的命名会影响到网格线,每个区域的起始网格线会自动命名为区域名-start,终止网格线会自动命名为区域名-end.
grid-template-areas:'a b c ' ' d e f' ' g h i'
grid-template-areas:'a a a ' ' b b b ' ' g h i';
grid-template-areas:'a . a ' ' b . b ' ' g . i';

1.1.4 :grid-auto-flow 容器的子元素顺序

  • 划分网格后,容器的子元素会按照顺序,自动放置在每一个网格。默认的顺序是"先行后列",
grid-auto-flow: row;
grid-auto-flow: column;
grid-auto-flow: column dense;

1.1.5 grid-auto-columns / grid-auto-rows 用来设置多出来的项目的宽高

  • grid-auto-columns是设置默认单元格的宽度,grid-auto-rows是设置默认单元格的高度
grid-auto-columns: 50px;
grid-auto-rows: 50px;
  • 只设置了 3*3 个项目,但是实际有 10 个,整个属性就是用来设置多出来的项目的

1.1.6 容器属性:justify-items(水平方向) align-items(垂直方向)

  • 设置每个单元格内容的水平和垂直的对齐方式
justify-items:start|end|center|strech;
align-items:start|end|center|strech;
// 组合属性
place-items:justify-items align-items;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xPRV0MO-1600563025984)(F:\学习笔记\4移动端布局\images\8.png)]

1.1.7 容器属性:justify-content(水平方向) align-content(垂直方向)

  • 设置整个网格内容的水平和垂直的对齐方式
 justify-content:start|end|center|strech|space-around|space-between|space-evenly; 
 align-content:start|end|center|strech|space-around|space-between|space-evenly;

1.2 项目属性

在这里插入图片描述

1.2.1 元素跨行,跨列

  • grid-column-start / grid-column-start / grid-rows-start / grid-rows-start
 grid-column: 1 / 3; /*当前元素从第一个线开始,第三个结束*/
 grid-rows: 1 / 3;

1.2.2 span 跨行 跨列

grid-column-start: span 2; /*当前元素从跨越两列*/
grid-rows-start: span 3;

  • 用来指定 item 的具体位置,根据在那根网格线

在这里插入图片描述

1.2.3 grid-area 指定项目存放的区域

在这里插入图片描述

1.2.4 grid-area 项目属性的简写

在这里插入图片描述

1.2.5 项目自身属性 justify-self / align-self / pace-self

在这里插入图片描述

1.3 minmax()函数

  • 可以为轨道指定一个最小值和最大值。
  • 在下面的示例中,我有一个整洁的面板,左上方标题,右侧有大图。我想要顶部的最小高度为150像素,想要让那个盒子可以大到大于150像素。这里我用了minmax()函数,设置了150像素的最小值,和auto的最大值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值