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实现动态的二级三级菜单效果实例源码
Jan 04 HTML / CSS
CSS3的文字阴影—text-shadow的使用方法
Dec 25 HTML / CSS
纯CSS3实现的8种Loading动画效果
Jul 05 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
May 09 HTML / CSS
html5触摸事件判断滑动方向的实现
Jun 05 HTML / CSS
html5设计原理(推荐收藏)
May 17 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
Nov 21 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
Apr 29 HTML / CSS
详解Html5项目适配系统深色模式方案总结
Apr 14 HTML / CSS
CSS 实现角标效果的完整代码
Jun 28 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
php实现的xml操作类
2016/01/15 PHP
php上传图片类及用法示例
2016/05/11 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python中eval与int的区别浅析
2019/08/11 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
上党课的心得体会
2014/09/02 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
python自动化测试通过日志3分钟定位bug
2021/11/20 Python