Flex布局

Flex布局又称弹性布局,它的提出是为了更好实现网页布局,可以简便、完整、响应式地实现各种页面布局。目前,已经得到了所有浏览器上网支持。
一、弹性布局的相关属性
1.设置在父容器上的属性
(1)display:flex----指定该容器为弹性布局
(2)flex-direction----设置主轴布局的排列方式
该属性有四个值:
 row(默认值):布局排列方向显示为行,为当前文档流水平方向,默认情况下是从左到右。
 row-reverse:布局排列方式显示为行,但方向和row属性值相反,默认情况下为从右到左。
 column:布局排列显示为列,默认情况下是从上到下
 column-reverse:布局排列方式为列。但方向和column属性值相反,默认情况下为从下到上。
(3)flex-wrap----设置容器内元素是否进行换行
该属性有三个值:
 wrap:进行换行处理
 nowrap(默认值):不换行
 wrap-reverse:宽度不足,进行反向换行
(4)flex-flow---- flex-direction和flex-wrap的复合写法,默认值为 (row nowrap)。
(5)justify-content----设置主轴方向上子项的对齐和分布方式
该属性有六个值:
 flex-start(默认值):左对齐
 flex-end:右对齐
 center:居中
 space-between:两端对齐,子项之间的间隔都相等
 space-around:每个项目两侧的间隔相等。所以,子项之间的间隔比项目与边框的间隔大一倍。
 space-evenly:每个子项两侧空白间隔完全相等。
(6)align-items----每一行子元素的上下对齐方式
该属性有四个值:
 stretch(默认值):子项拉伸,如果未设置容器的高度,子项将占满容器的整个高度。
 flex-start:子项对容器顶部对齐。
 center:子项表现为垂直居中。
 flex-end:子项对容器底部对齐。
(7)align-content----可以看成和justify-content是相似且对立的属性(即侧轴的对齐方式),如果所有flex子项只有一行,则align-content属性是没有任何效果的,多行下,有几行就会把容器划分为几部分。
该属性有六个值:
 stretch(默认值):子项拉伸。
 flex-start:左对齐。
 flex-end:右对齐。
 center:居中。
 space-between:两端对齐,子项之间的间隔都相等。
 space-around:每个项目两侧的间隔相等。所以,子项之间的间隔比项目与边框的间隔大一倍。
 space-evenly:每个子项两侧空白间隔完全相等。
2. 设置在子容器上的属性
(1)order----定义子项的排列顺序。数值越小,排列越靠前,默认为0。
(2)flex-grow----定义子项的扩展(在空隙存在的条件下,扩展才会生效)
该属性有两个值:
 0(默认值):不扩展。
 1:扩展,会把空白区域全部占满。
【注】子元素会按照设置的比例值来分配空隙,如果比例值总和小于1,那么就会有空隙,如果比例值总和大于1,那么就没有空隙。
(3)flex-shrink:定义子项的收缩比例
正常默认值为1,并且当空间不足时,都将等比例缩小,0表示不缩小。(收缩大小是同正常收缩值1进行比较,大于1的收缩大些,小于1的收缩小一些。)
(4)flex-basis----定义了在分配剩余空间之前元素的默认大小。默认值为auto。
(5)flex---- 为flex-grow,flex-shrink和flex-basis的复合写法,默认值为0 1 auto。
其中还存在两个快捷写法
 flex:1;(即flex(1 1 0);)
 flex:0;(即flex(0 1 0);)
(6)align-self----表示单独某一个flex子项的垂直对齐方式。
该属性有四个值:
 stretch(默认值):子项拉伸,如果未设置容器的高度,子项将占满容器的整个高度。
 flex-start:子项对容器顶部对齐。
 center:子项表现为垂直居中。
 flex-end:子项对容器底部对齐。
二、当水平方向是主轴时,默认情况下,当宽高不写的时候,宽度由内容决定,高度由父容器决定;当垂直方向是主轴时,默认情况下,当宽高不写的时候,宽度由父容器决定,高度由内容决定。

逆战班 苏小钶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值