flex布局

1.flex布局

1.1传统布局与flex布局

(1)如果是PC端页面布局,还是使用传统布局;
(2)如果是移动端或者不考虑兼容性的PC端页面布局,则使用flex弹性布局

1.2布局原理

当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效
子盒子可以横向排列,也可以纵向排列,布局灵活
总结:通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。

2.属性

2.1常见的父项属性

以下6个属性是对父元素设置的:
(1)flex-direction:设置主轴的方向
(2)justify-content:设置主轴上的子元素排列方式
(3)flex-wrap:设置子元素是否换行
(4)align-content:设置侧轴上的子元素的排列方式(多行)
(5)align-items:设置侧轴上的子元素的排列方式(单行)
(6)flex-flow:复合属性,相当于同时设置了flex-direction和flex-wrap

2.2.flex-direction:设置主轴的方向

(1)主轴与侧轴:默认主轴方向是X轴方向,水平向右;默认侧轴方向是Y方向,水平向下
(2)主轴和侧轴是会变化的,flex-direction设置谁为主轴,则剩下的就为侧轴。属性值如下:
row:默认值(从左到右);
row-reverse:从右到左;
column:从上到下;
column-reverse:从下到上

2.3 justify-content 设置主轴上子元素的对齐方式

注意:使用这个元素之前一定要确定好主轴
属性值如下:
flex-start:默认值从头开始,如果主轴是X轴,则从左往右
flex-end:从尾部开始排列
center:在主轴居中对齐(如果主轴是X轴则水平居中)
space-around:平分剩余空间
space-between:先两边贴边,再平分剩余空间(!!!)

2.4 flex-wrap:设置子元素是否换行

flex布局中,默认情况下,项目都是排在一条行的,如果装不下,会缩小整行的子元素的宽度,放到父元素里
属性值如下:
nowrap:默认值,不换行
wrap:换行

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

注意:仅仅在子项是单项的时候使用
属性值如下:
flex-start:默认值(从上到下)
flex-end:从下到上
center:垂直居中
stretch:拉伸

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

只能用于子项出现换行的情况,仅单行不能使用
属性值如下:
flex-start:默认值在侧轴的头部开始排列
flex-end:在侧轴的尾部开始排列
center:在侧轴中间显示
space-around:子项在侧轴平分剩余空间
space-between:子项在侧轴先分布在两头,在平分剩余空间
stretch:设置子项元素高度平分父元素高度
flex布局子项常见属性
flex属性:定义子项目分配剩余空间,用flex来表示占多少份数
eg { flex:num;}
align-self 控制子项自己在侧轴上的排列方式:允许单个子项与其他子项不一样的对齐方式;
order属性定义子项的排列顺序:数值越小,排列越靠前,默认为0,可以取负值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值