CSS3 Flexbox中flex-shrink属性的用法示例介绍


Posted in HTML / CSS onDecember 30, 2013

在CSS3 Flexbox中flex-shrink属性定义为:

This <number> component sets ‘flex-shrink’ longhand and specifies the flex shrink factor, which determines how much the flex item will shrink relative to the rest of the flex items in the flex container when negative free space is distributed. When omitted, it is set to ‘1’. The flex shrink factor is multiplied by the flex basis when distributing negative space.

通俗来讲就是当flex items的大小超过了flex container时, 各个flex item的压缩比例, 请看下面的示例:

复制代码
代码如下:

<style>
#container div {
height: 200px;
width: 60px;
}
#test1 {
background-color: blue;
flex-shrink: 1;
}
#test2 {
background-color: yellow;
flex-shrink: 0.5;
}
</style>
<div id="container">
<div id="test1"></div>
<div id="test2"></div>
</div>

<div id="test1">与<div id="test2">的宽度总和是120px, 超过了<div id="container">的宽度100px, 超过的大小为20px, 那么container为了装下两个子div,两个子div的宽度就必须减少20px,那么每个子div的宽度减少多少呢? 这个时候就需要flex-shrink属性来分配了,每个子div的实际显示宽度计算方法公式为:

实际值 = 计划值 - 总差值 * flex-shrink/(flex-shrink和)

根据上面的公式我们可以计算出<div id="test1">与<div id="test2">的实际宽度值分别为:

复制代码
代码如下:

<div id="test1">: width = 60 - 20 * 1 / (1 + 0.5) = 47px
<div id="test2">: width = 60 - 20 * 0.5 / (1 + 0.5) = 53px

根据以上结果可知flex-shrink值越大,flex item的实际结果就会越小
HTML / CSS 相关文章推荐
CSS3中文字镂空、透明值、阴影效果设置示例小结
Mar 07 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
Nov 06 HTML / CSS
CSS3 按钮边框动画的实现
Nov 12 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 HTML / CSS
HTML5 拖拽批量上传文件的示例代码
Mar 28 HTML / CSS
canvas绘制视频封面的方法
Feb 05 HTML / CSS
html5开发三八女王节表白神器
Mar 07 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
Sep 25 HTML / CSS
webView加载html图片遇到的问题解决
Oct 08 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
Aug 19 HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
Jun 21 HTML / CSS
详解CSS中postion和opacity及cursor的特性
Aug 14 HTML / CSS
css3圆角样式分享自定义按钮样式
Dec 27 #HTML / CSS
两种CSS3伪类选择器详细介绍
Dec 24 #HTML / CSS
浏览器实现移动端高性能css3动画(开启gpu加速)
Dec 23 #HTML / CSS
CSS3中31种选择器使用方法教程
Dec 05 #HTML / CSS
css3高级选择器使用方法
Dec 02 #HTML / CSS
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
Nov 18 #HTML / CSS
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 #HTML / CSS
You might like
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python中的变量如何开辟内存
2018/06/26 Python
python 反向输出字符串的方法
2018/07/16 Python
python for和else语句趣谈
2019/07/02 Python
python里反向传播算法详解
2020/11/22 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
西部世纪面试题
2014/12/05 面试题
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
电厂厂长岗位职责
2014/01/02 职场文书
小学亲子活动总结
2014/07/01 职场文书
图书馆义工感想
2015/08/07 职场文书
导游词之西安骊山
2019/12/03 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
浅谈Python协程asyncio
2021/06/20 Python