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实现的数字统计游戏
Nov 10 HTML / CSS
CSS3动画:5种预载动画效果实例
Apr 05 HTML / CSS
css3 矩阵的使用详解
Mar 20 HTML / CSS
css3实现可拖动的魔方3d效果
May 07 HTML / CSS
html5+css3之制作header实例与更新
Dec 21 HTML / CSS
html5新特性与用法大全
Sep 13 HTML / CSS
整理的15个非常有用的 HTML5 开发教程和速查手册
Oct 18 HTML / CSS
程序设计HTML5 Canvas API
Apr 08 HTML / CSS
HTML5 拖放功能实现代码
Jul 14 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
Jan 18 HTML / CSS
html如何对span设置宽度
Oct 30 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
Jan 19 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
PHP实现文件下载详解
2014/11/27 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
jQuery的one()方法用法实例
2015/01/19 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python 遍历pd.Series的index和value
2019/11/26 Python
postman和python mock测试过程图解
2020/02/22 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
匡威德国官网:Converse德国
2019/01/26 全球购物
static关键字的用法
2013/10/07 面试题
运动会通讯稿100字
2014/01/31 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
MySQL常用慢查询分析工具详解
2022/08/14 MySQL