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实现炫酷的飞机起飞动画
Sep 17 HTML / CSS
CSS3+DIV实现漂亮的动画彩色标签
Jun 16 HTML / CSS
CSS3 圆角效果
Jul 15 HTML / CSS
CSS3+js实现简单的时钟特效
Mar 18 HTML / CSS
使用CSS3来实现滚动视差效果的教程
Aug 24 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
Dec 26 HTML / CSS
html5 利用canvas手写签名并保存的实现方法
Jul 12 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
Jun 11 HTML / CSS
html5 学习简单的拾色器
Sep 03 HTML / CSS
html5使用canvas画一条线
Dec 15 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
Dec 27 HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 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中$_SERVER的详细参数与说明
2008/07/29 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
php 判断数组是几维数组
2013/03/20 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
PHP7新功能总结
2019/04/14 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
JQuery的一些小应用收集
2010/03/27 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
浅说js变量
2011/05/25 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
js实现消息滚动效果
2017/01/18 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
Python实现求两个csv文件交集的方法
2017/09/06 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python内置加密模块用法解析
2019/11/25 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
缴纳养老保险的证明
2014/01/10 职场文书
搞笑征婚广告词
2014/03/17 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript