详细记录CSS中flex布局各属性的使用,快速掌握flex的居中等效果

display:flex布局

布局原理

flex是flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局。

当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性失效。

采用flex布局的元素,称为flex容器,简称“容器”。它的所有子元素自动成为容器成员,称为flex项目,简称“项目”。

总结flex布局原理:就是通过给父盒子添加flex属性,来控制盒子的位置和排列方式。

常见父项属性

①flex-direction:设置主轴方向

flex-direction属性决定主轴的方向(即子元素的排列方向)

注意:主轴和侧轴是会变化的,就看flex-dirction设置谁为主轴,剩下的就是侧轴。而子元素是根据主轴来排列的。

属性说明
row默认值,从左到右,X为主轴,Y为侧轴
row-reverse从右到左
column从上到下,Y为主轴,X为侧轴
ccolumn-reverse从下到上
②justify-content:设置主轴上的子元素排列方式

justify-content属性定义了子元素在主轴上的对齐方式

属性说明
flex-start默认值,从头部开始,如果主轴是X轴,则从左到右
flex-end从尾部开始排列
center在主轴居中对齐(如果主轴是X轴则水平居中)
space-around平分剩余空间
space-between先两边贴边 再分剩余空间
③flex-wrap:设置子元素是否换行

默认情况下,子元素都排在一条线(主轴)上,flex-wrap属性定义,flex布局中默认是不换行的。

属性说明
nowrap默认值,不换行
wrap换行
④align-items:设置侧轴上的子元素排列方式(单行)

该属性是控制子元素在侧轴(默认是Y轴)上的排列方式 在子项为单项的时候使用

属性说明
flex-start默认值,从上到下
flex-end从上到下
center居中
stretch拉伸
⑤align-content:设置侧轴上的子元素的排列方式(多行)

设置子元素在侧轴上的排列方式并且只能用于子元素出现换行的的情况,在单行下是没有效果的

属性说明
flex-start默认值,在侧轴的头部开始排列
flex-end在侧轴的尾部开始排列
center在侧轴的中间显示
space-around子元素在侧轴平分剩余空间
space-between子元素在侧轴先分布在两头,再平分剩余空间
stretch设置子元素高度平分父元素高度
⑥align-content和align-items区别
  • align-items适用于单行情况下,只有上对齐、下对齐、居中和拉伸。
  • align-content适应于多行的情况下,可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。
  • 总结就是单行找align-items多行找align-content

在这里插入图片描述

⑦flex-flow属性是flex-direction和flex-wrap属性的复合属性
flex-direction:row;//X轴为主轴
flex-wrap:wrap;//换行
//以上两行可以由以下一行替代
flex-flow:row wrap;
⑧总结

在这里插入图片描述

常见子项属性

①flex属性:子元素分配剩余空间,用flex来表示占多数份数
②align-self:控制子元素自己在侧轴上的排列方式

align-self属性允许单个子元素有与其他子元素不一样的对齐方式,可以覆盖父元素的align-items属性。默认值auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

③order属性自定义项目的排列顺序

数值越小,排列越靠前,默认为0。可以通过此改变子元素的排列先后顺序。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值