flex 增长与收缩
flex:auto 将增长值与收缩值设置为1,基本大小为 auto 。
flex:none. 将增长值与收缩值设置为0,基本大小为 auto 。也就是固定大小。
增长:
基本大小 + 额外空间 *(增长系数 / 增长系数总和)
按比例划分额外空间,然后各自分配。
缩小:
基本大小 – 溢出大小 *(缩小系数 * 基本大小 / 各各缩小系数 * 自身大小 之和)

#container {
display: flex;
flex-wrap: nowrap;
}
flex-shrink: 1并非严格等比缩小,它还会考虑弹性元素本身的大小。
- 容器剩余宽度:-70px
- 缩小因子的分母:1*50 + 1*100 + 1*120 = 270 (1为各元素flex-shrink的值)
- 元素1的缩小因子:1*50/270
- 元素1的缩小宽度为缩小因子乘于容器剩余宽度:1*50/270 * (-70)
- 元素1最后则缩小为:50px + (1*50/270 *(-70)) = 37.03px
均匀增长(直接按设置的比例增长)
将基本大小设置为:0,那么收缩值就不在适用了。
flex:值;或 flex-shrink:0;flex-basis:0;
如:flex:1; flex:2; flex:3. 那么第二个为第一个的2倍宽度,第三个为第一个的3倍宽度。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0px;
}
.flexbox-row{
margin: 50px auto;
display: flex;
flex-direction: row;
width: 120px;
height: 320px;
border: 1px #ccc solid;
}
.box1{
flex: 1;
height: 50px;
}
.box2{
flex: 2;
height: 50px;
}
.box3 {
flex: 1.5;
height: 30px;
}
</style>
</head>
<body> <div class="flexbox-row">
<div class="box box1" style="background-color:coral;">A</div>
<div class="box box2" style="background-color:lightblue;">B</div>
<div class="box box3" style="background-color:khaki;">C</div>
</div> </body>
</html>
flex 增长与收缩的更多相关文章
- SQL Server 数据的创建、增长、收缩
第一步: create database Studio on primary (name = 'Studio',filename='E:\DB\Studio.mdf' ...
- CSS3:flex布局应用
想把先前的整理的东西贴出来,怎奈总是有额外事情发生,额,教训电脑要离水杯远点~~ 推荐一本书,<编写可维护的Javascript>这是Nicbolas C.Zakas写的,他的<Ja ...
- 【Taro】363- 玩转 Taro 跨端之 flex 布局篇
Taro 是一套遵循 React 语法规范的跨平台开发解决方案,但是目前当我们使用 Taro 的时候,在不同平台上的开发体验还有不一致的地方,所以我们也都期待有一套跨平台统一的解决方案,能够以最小差异 ...
- css基础--深入理解弹性盒flex布局
欢迎访问我的个人博客:http://www.xiaolongwu.cn 1. 前言 flex弹性盒,是一种布局方式,当页面需要适应不同的屏幕大小以及设备类型时,它依然能确保元素 拥有更恰当的排布行为, ...
- CSS弹性盒模型(flex box)
本文介绍的是 CSS3 规范中引入的新布局模型:弹性盒模型(flex box).随着响应式用户界面的流行,Web 应用一般都要求适配不同的设备尺寸和浏览器分辨率. 浏览器支持: 弹性盒布局的容器(fl ...
- 聊聊Flexbox布局中的flex的演算法
到目前为止,Flexbox布局应该是目前最流行的布局方式之一了.而Flexbox布局的最大特性就是让Flex项目可伸缩,也就是让Flex项目的宽度和高度可以自动填充Flex容器剩余的空间或者缩小Fle ...
- CSS Flex布局整理
Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...
- CSS Flex布局属性整理
Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...
- css属性之flex属性
flex属性 规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间.是一个简写属性,可以同时设置flex-grow, flex-shrink, flex-basis三个子属性. /* Basic ...
随机推荐
- 我的秋招经验分享(已拿BAT头条网易滴滴)
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- .net core 程序退出事件
平滑关闭,关闭事件 //捕获Ctrl+C事件 Console.CancelKeyPress += Console_CancelKeyPress; //进程退出事件 AppDomain.CurrentD ...
- netcore使用 jenkins + supervisor 实现standalone下多副本自动化发布
上一篇我们用jenkins做了一个简单的自动化发布,在shell中采用的是 BUILD_ID=dontKillMe nohup dotnet xxx.dll & 这种简单的后台承载,如果你的 ...
- 数据结构与算法(九):AVL树详细讲解
数据结构与算法(一):基础简介 数据结构与算法(二):基于数组的实现ArrayList源码彻底分析 数据结构与算法(三):基于链表的实现LinkedList源码彻底分析 数据结构与算法(四):基于哈希 ...
- 什么是移动BI
移动商务智能(移动商务智能或移动智能)定义为一个包含技术和组织元素的系统,可向用户提供历史和/或实时信息,以便在智能手机和平板电脑等移动设备上进行分析笔记本电脑),以实现有效的决策和管理支持,以提高公 ...
- 关于ORACLE的各种操作~持续汇总~
增.删.改: 增加所有 INSERT INTO 表名 VALUES(序列名.NEXTVAL,'值1','值2','值3','值4','值5'); 指定增加 INSERT INTO 表名(字段1,字段2 ...
- rabbitmq消费者“无故消失”
hi,all 导读:9月1号17:12左右,发现影子队列存在大量“unacked”(收到了消息,但是还没有手动确认消息)的消息,一段时间后“unacked”的数量没有减少,但是观察消费者端的日志, ...
- 微信小程序 写一个获取验证码 及setInterval 使用基本方法
<!--index.wxml--> <view class="container"> <view class="container_cont ...
- Markdown 语法文档
Markdown 语法文档 前言 Markdown 是一种轻量级标记语言,创始人为約翰・格魯伯(英语:John Gruber); 它允许人们 "使用易读易写的纯文本格式编写文档,然后转换成有 ...
- Android开发:UI相关(一)自定义样式资源
一.自定义样式资源: 1.在drawble中新建xml资源文件: 如果新建的xml文件没有自动放置在drawable文件夹下,就手动移动到drawable下. 2.编写样式代码: < ...