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 translate完美实现表头固定效果
Feb 28 HTML / CSS
css3.0新属性效果在ie下的解决方案
May 10 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
Feb 04 HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 HTML / CSS
浅谈HTML5 defer和async的区别
Jun 07 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
May 15 HTML / CSS
用HTML5制作数字时钟的教程
May 11 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
Jan 07 HTML / CSS
localStorage的过期时间设置的方法详解
Nov 26 HTML / CSS
AmazeUI在模态框中嵌入表单形成模态输入框
Aug 20 HTML / CSS
CSS极坐标的实例代码
Jun 03 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
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
XENON基于JSON变种
2010/07/27 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
js Date概念详细介绍
2013/11/22 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
python 连接sqlite及简单操作
2017/06/30 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python读取mysql数据绘制条形图
2020/03/25 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
金讯Java笔试题目
2013/06/18 面试题
公司年会晚宴演讲稿
2014/01/06 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
党建工作经验交流材料
2014/05/25 职场文书
2014年销售部工作总结
2014/12/01 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书