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实现带动画效果导航菜单无需js
Sep 27 HTML / CSS
css3教程之倾斜页面
Jan 27 HTML / CSS
纯CSS3发光分享按钮的实现教程
Sep 06 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
Aug 25 HTML / CSS
CSS3制作hover下划线动画
Mar 27 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 HTML / CSS
HTML5 Canvas实现烟花绽放特效
Mar 02 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
Mar 26 HTML / CSS
canvas小画板之平滑曲线的实现
Aug 12 HTML / CSS
解析CSS 提取图片主题色功能(小技巧)
May 12 HTML / CSS
能用CSS实现的就不要麻烦JavaScript了
Oct 05 HTML / CSS
浅谈为什么我的 z-index 又不生效了
Jul 15 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及Zend Engine的线程安全模型分析
2011/11/10 PHP
php组合排序简单实现方法
2016/10/15 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
js取得url地址参数实例
2013/02/22 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
python中判断文件结束符的具体方法
2020/08/04 Python
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
管理岗位竞聘演讲稿
2014/08/18 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
Android中的Launch Mode详情
2022/06/05 Java/Android