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 相关文章推荐
button在IE6/7下的黑边去除方案
Dec 24 HTML / CSS
定义css设备类型-Media Queries图表简介及使用方法
Jan 21 HTML / CSS
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
Feb 07 HTML / CSS
使用 CSS3 中@media 实现网页自适应的示例代码
Mar 24 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
Mar 26 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 HTML / CSS
利用html5的websocket实现websocket聊天室
Dec 12 HTML / CSS
HTML5标签使用方法详解
Nov 27 HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 HTML / CSS
HTML5中indexedDB 数据库的使用实例
May 11 HTML / CSS
元素水平垂直居中的方式
Mar 31 HTML / CSS
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
Apr 29 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实时显示输出
2008/10/02 PHP
smarty的保留变量问题
2008/10/23 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
php取出数组单个值的方法
2018/03/12 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python中SQLite如何使用
2020/05/27 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
京东国际站:JOYBUY
2017/11/23 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
捐款倡议书范文
2014/02/02 职场文书
《值日生》教学反思
2014/02/17 职场文书
新任教师自我鉴定
2014/02/24 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers