Day20

2023.2.14

弹性盒子:可以对一个容器中的子元素进行排列、对齐、分配空白区间

弹性盒display:flex;将元素作为弹性伸缩盒显示

display:inline-flex;将元素作为内联块级弹性盒显示

将容器设置为弹性盒之后,子元素中的float、clear、vertical-align(垂直对齐)属性都会失效

弹性子元素--类似于行内块元素,如果不设置宽高,由内容撑开;即使是行内元素也可以设置宽高

弹性盒子基本概念

有两条轴:

默认的主轴方向---x轴的方向,水平向右(左侧边为主轴的起始点,右侧边为主轴的终点)

默认的交叉轴(侧轴)方向---y轴的方向,水平向下(上方为侧轴起点,下方为侧轴的终点)

弹性盒子主轴方向:

主轴的方向---子元素的排列方向

flex-direction:row;默认值,水平向右,起点在左端

flex-direction:row-reverse;水平向左,起点在右端

flex-direction:column;垂直方向--从上往下,起点在上方

flex-direction:column-reverse;垂直方向--从下往上,起点在下方

弹性盒子的主轴对齐方式

设置主轴的对齐方式,弹性子元素在主轴方向的对齐方式

justify-content:flex-start;默认值,主轴在顶端对齐

justify-content:flex-end;主轴在末端对齐

justify-content:center;居中对齐,子元素位于弹性容器的中心

justify-content:space-between;两端对齐,子元素和子元素之间有空白,项目之间的间距相等

justify-content:space-around;四周对齐,子元素之前、之间、之后都有空白,并且空白自行分配,项目和项目之间的间隔要比项目和边框之间的间距大一倍

justify-content:space-evenly;平均分配,项目与项目之间,项目与边框之间,间距都相等

弹性盒子侧轴的对齐方式

弹性子元素在侧轴上的对齐方式

align-items: flex-start;(默认值),子元素在侧轴的顶端对齐

align-items:flex-end;子元素在侧轴的末端对齐

align-items:center;子元素在侧轴的中间对齐

align-items:baseline;子元素在第一行文字的基线对齐

align-items:stretch;(默认值)如果弹性子元素没有高度或者高度为auto,将占满整个容器的高度

弹性盒子的换行属性

弹性盒子的子元素的换行方式

flex-wrap:nowrap;默认值 不换行

flex-wrap:wrap;换行,第一行在上方显示

flex-wrap:wrap-reverse;换行,第一行在下方显示(翻转)

弹性盒子的换行属性、控制之间的间距

折行、控制行与行之间的距离

align-content:flex-start;默认值,顶端没有间距

align-content:flex-end;末端对齐,没有间距

align-content:center;居中对齐,没有行间距

align-content:space-between;两端对齐,中间距离自行分配

align-content:space-around;四周对齐

align-content:space-evenly;平均分配

注意:弹性盒项目为多行时才有效;必须要有折行属性

弹性子元素自身在侧轴的对齐方式

调整自身在侧轴的对齐方式

Align-self:flex-start;在侧轴的起点对齐

Align-self:flex-end;在侧轴的终点对齐

Align-self:center;在侧轴的中间对齐

Align-self:stretch;如果弹性子元素没有高度或者高度为auto,将会占满整个容器

order属性order:1;

改变子元素的排列顺序

取值:数值,没有单位,默认数值为0,数值越小 越靠前

可以为负值,不能为小数,必须为整数

flex-grow属性

Flex属性:指定弹性子元素如何分别剩余的空白区间

Flex-grow:子元素的放大比例(子元素的宽度之和<父盒子的宽度)

取值:数值,没有单位,默认值0(表示不放大)

负值无效,可以为小数

Flex-shrink属性:子元素的缩小比例(子元素宽度之和>父盒子的宽度)

Flex-shrink:1;默认值,表示空间不足时,等比例缩小

Flex-shrink:0;表示空间不足时,不缩小

Flex-shrink:1.5;可以为小数

负值对该属性无效

Flex-shrink计算

缩小的宽=(当前元素的宽*shrink值)/(元素1*元素1的shrink值+元素2*元素2的shrink值...)*溢出的空间宽度(子元素宽度之和-父盒子宽度)

Flex-basis属性

定义弹性盒子元素的基准值(参与计算的最终值---1、基于它计算了容器的剩余空间 2、基于它计算增长以后的最终值)

简写:flex:0 1 auto;g s b

flex-flow复合写法

flex-flow:row-reverse wrap;

calc()函数

用于动态计算长度值,支持的运算符+ - * /,在运算符的前后都需要保留一个空格

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值