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实现图片无间断轮播效果
Aug 25 HTML / CSS
使用CSS3制作倾斜导航条和毛玻璃效果
Sep 12 HTML / CSS
利用CSS3实现文本框的清除按钮相关的一些效果
Jun 23 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
Jun 13 HTML / CSS
canvas基础之图形验证码的示例
Jan 02 HTML / CSS
HTML5的结构和语义(2):结构
Oct 17 HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
Sep 15 HTML / CSS
html5表单及新增的改良元素详解
Jun 07 HTML / CSS
CSS实现漂亮的时钟动画效果的实例代码
Mar 30 HTML / CSS
CSS3实现的水平标题菜单
Apr 14 HTML / CSS
css3新特性的应用示例分析
Mar 16 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python实现登录接口的示例代码
2017/07/21 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
Python list与NumPy array 区分详解
2019/11/06 Python
使用python实现多维数据降维操作
2020/02/24 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
护理不良事件检讨书
2014/02/06 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
共青团员自我评价
2015/03/10 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
聊聊redis-dump工具安装问题
2022/01/18 Redis
Redis实现订单过期删除的方法步骤
2022/06/05 Redis
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript