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轻松实现清新 Loading 效果的简单实例
Jun 06 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
Mar 17 HTML / CSS
关于css兼容性问题及一些常见问题汇总
May 03 HTML / CSS
CSS3中新增的对文本和字体的设置
Feb 03 HTML / CSS
css3中flex布局宽度不生效的解决
Dec 09 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
Jul 13 HTML / CSS
HTML5 canvas画矩形时出现边框样式不一致的解决方法
Oct 14 HTML / CSS
HTML5实现预览本地图片
Feb 17 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
Jun 02 HTML / CSS
canvas实现圆形进度条动画的示例代码
Dec 26 HTML / CSS
HTML5超文本标记语言的实现方法
Sep 24 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的初级使用方法以及心得分享
2013/06/21 PHP
php微信支付之APP支付方法
2015/03/04 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
PHP云打印类完整示例
2016/10/15 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
pandas series序列转化为星期几的实例
2018/04/11 Python
Python学习小技巧总结
2018/06/10 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
5款实用的python 工具推荐
2020/10/13 Python
星空联盟C# .net笔试题
2014/12/05 面试题
应届毕业生的个人自我鉴定
2013/10/24 职场文书
大三在校生电子商务求职信
2013/10/29 职场文书
高一物理教学反思
2014/01/24 职场文书
借名购房协议书范本
2014/10/06 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
2014企业年终工作总结
2014/12/23 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书