CSS:弹性盒子模型详解(用法 + 例子 + 效果)

弹性盒子模型

flex-direction 排列方式 主轴方向

flex-direction: row; 横向布局,默认从左向右。
flex-direction: row-reverse; 横向布局,从右向左。
flex-direction: column; 纵向布局,从上到下。
flex-direction: column-reverse; 纵向布局,从下到上。

.top{
    width:800px;
    background: yellow;
    display:flex;
    flex-direction: row-reverse;  
}

在这里插入图片描述

换行

flex-wrap: wrap; 换行
flex-wrap: nowrap; 不换行

排序

给子级加上 order: 编号
值越小越考前,值越大越向后排。

.top{
    width:800px;
    background: yellow;
    display:flex;
    flex-direction: row;  
}

.bottom{
    width:800px;
    height:200px;
    background:pink;
}

.left{
    width:200px;
    height:100px;
    background:orange;
    float:left;
    order:1;
}
.middle{
    width:200px;
    height:100px;
    background:blue;
    float:left;
    order:3;
}
.right{
    width:200px;
    height:100px;
    background: purple;
    float:left;
    order:2;
}

在这里插入图片描述

控制子元素缩放比例

作用于子级元素。
flex-shrink: 压缩因子。
flex-grow: 拉伸因子。
flex-grow: 基准因子,一般用宽度代替。

.top{
    width:800px;
    background: yellow;
    display:flex;
    flex-direction: row;  
}

.bottom{
    width:800px;
    height:200px;
    background:pink;
}

.left{
    width:200px;
    height:100px;
    background:orange;
    flex-grow: 8;
}
.middle{
    width:200px;
    height:100px;
    background:blue;
    flex-grow:5;
}
.right{
    width:200px;
    height:100px;
    background: purple;
    flex-grow:1;
}

三个比例的拉伸效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

缩放是如何实现的?

拉伸:把所有flex-gorw求和,在把未占满的位置分为总和个份数,根据每个子集的比例分给子集。
缩小:根据子集宽度按比例比例自动缩小。

控制子元素的对其方式

justify-content 横向 对齐方式

其实是和主轴方向有关系,不一定是横向的,这里用横向举例展示。
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 纵向 对齐方式

align-items: flex-start; 默认顶端对齐
在这里插入图片描述
align-items: flex-end; 底端对齐
在这里插入图片描述
align-items: center; 居中对齐
在这里插入图片描述
align-items: baseline; 首行底端对齐
在这里插入图片描述

align-content 多行 对齐方式

align-content: flex-start; 所有行都在顶端
我们先给给父级加上高度,好用来展示效果。
在这里插入图片描述
align-content: flex-end; 底部
在这里插入图片描述
align-content: center; 中间
在这里插入图片描述
align-content: space-betwween; 空白放中间
在这里插入图片描述
align-content: space-around; 空白放周围
在这里插入图片描述
align-content: space-evenly; 空白均匀分布
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cosmoshhhyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值