Flex弹性盒子布局

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

flex布局父项常见属性

常见父项属性

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

flex-direction

设置主轴的方向 决定子元素在父元素中的排列方式

属性决定主轴的方向(即项目的排列方向)
注意:主轴和侧轴是会变化的,就看flex-direction设置谁为主轴,剩下的就是侧轴,而我们的子元素是跟着主轴来排列的

属性值

row: 默认从左到右
row-reverse: 从右到左
column: 从上到下
column-reverse: 从下到上

justify-content

设置主轴上的子元素排列方式

属性定义了项目在主轴上的对齐方式
注意:使用这个属性之前一定要确定好主轴是那个

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

flex-wrap

设置子元素是否换行 子元素在父元素盒子中是否换行(列)

默认情况下,项目都排在一条线(又称 "轴线")上。flex-wrap属性定义,flex布局默认是不换行的。

nowrap: 默认值,不换行
wrap: 换行或换列
wrap-reverse: 换行或者换列,但以相反的顺序

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区别
1.align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸
2.align-content 适应于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值
3.总结就是单行找align-items,多行找align-content

flex-flow

是flow-direction 和 flex-wrap属性的复合属性

例:flex-flow: row wrap;

其他属性 子元素属性

​ flex-basis: 设置弹性盒伸缩基准值
​ flex-grow: 设置弹性盒子的扩展比率
​ flex-shrink: 设置弹性盒子的缩小比率
​ flex: flex-grow、flex-shrink、flex-basis的缩写

flex简写
flex: auto; flex: 1 1 auto;
flex: none; flex: 0 0 auto; -- width以自定义为准 不允许扩大 不允许缩小
flex: 0%; flex: 1 1 0%;
flex: 100px; flex: 1 1 100px;
flex: 1; flex: 1 1 0%;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值