flex布局和grid布局

一.flex布局

(一)原理

flex container,简称容器,他的所有子元素自动成为容器成员,成为flex项目,简称项目。通过对父元素添加flex属性,来控制子盒子的位置和排列方式
在这里插入图片描述

(二)常见的父项(容器)元素

2.1 flex-direction:设置主轴方向

默认值row,row-reverse从右到左;
column,从上到下,column-reverse,从下到上。

2.2 justify-content:设置主轴上的子元素的排列方式

默认值flex-start,从头部开始(如果主轴是x轴,则从左到右)
flex-end,从尾部开始排列
center,在主轴居中对齐(如果主轴是x轴则水平居中)
space-around,平分剩余空间
space-between,先两边贴边,再平分剩余空间

2.3 flex-wrap:设置子元素是否换行(折行)

默认值nowrap不换行,wrap换行

2.4 align-content:设置侧轴上的子元素的排列方式(多行)

默认值flex-start,从侧轴的头部开始
flex-end,从侧轴的尾部开始排列
center,在侧轴中间显示
space-around,平分剩余空间
space-between,先分布在两头,再平分剩余空间
stretch设置子项元素高度平分父元素高度

2.5 align-items:设置侧轴上的子元素的排列方式(单行)

默认值flex,从上到下,flex-end,从下到上
center,挤在一起居中(垂直居中)
stretch,拉伸

2.6 flex-flow:复合元素,相当于设置flex-direction和flex-wrap

先flex-direction,后flex-wrap

(三)常见的子项(项目)元素

3.1 flex:< number >;/default 0/

定义子元素项目分配剩余空间,用flex来表示占多少分数
是由flex-grow,flex-shrink,flex-basis三个属性的缩写

3.2 align-self 控制子项自己在侧轴上的排列方式

允许单个项目有与其他项目不一样的排列方式,可覆盖align-items属性;默认值为auto,表示父元素的align-items属性,如果没有父元素,则等同于stretch
flex-start侧轴开始位置,flex-end结束位置,center居中位置,baseline基线位置,stretch侧轴默认拉伸

3.3 order:< number >显示顺序

3.4 margin:auto实现水平垂直原理

二.grid布局

(一)布局概念:行与列,网格线(网格布局中的横向的从纵线的线条)

(二)容器属性

2.1 grid-template-rows(行属性)grid-template-columns(列属性)

①像素
②百分比
③重复函数repeat(num1,num2)

num1重复次数,num2需要重复的数值

④自动填充auto-fill,应用在重复函数中,代表的是根据需要重复的数值,进行自动填充数量
⑤auto

在这里插入图片描述

⑥片段划分fr,分数
⑦minmax(num1,num2)

2.2 间距属性grid-row-gap/grid-column-gap

2.3顺序:grid-auto-flow:row / column

2.4宽度高度和对齐方式

水平对齐方式:justify-items:start/center/end
垂直对齐方式:align-items:start/center/end

2.5网格在容器中的位置

justify-content / align-content

(三)项目属性

合并单元格

grid-column-start纵向网格线的开始占位
grid-column-end纵向网格线的结束占位
grid-row-start横向网格线的开始占位
grid-row-end横向网格线的结束占位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值