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制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
Nov 11 HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 HTML / CSS
css3实现3D文本悬停改变效果的示例代码
Jan 16 HTML / CSS
html5音频_动力节点Java学院整理
Aug 22 HTML / CSS
HTML5标签小集
Aug 02 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
Jan 31 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
5个你不知道的HTML5的接口介绍
Aug 07 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
Dec 27 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
Aug 20 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 在文件指定行插入数据的代码
2010/05/08 PHP
php入门学习知识点三 PHP上传
2011/07/14 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
JavaScript的目的分析
2007/01/05 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
python实现外卖信息管理系统
2018/01/11 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
python爬虫用mongodb的理由
2020/07/28 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
试述DBMS的主要功能
2016/11/13 面试题
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
行政管理专业推荐信
2013/11/02 职场文书
工程业务员岗位职责
2013/12/31 职场文书
感恩节活动方案
2014/01/27 职场文书
财务总监管理职责范文
2014/03/09 职场文书
学习两会精神心得范文
2014/03/17 职场文书
六年级小学生评语
2014/12/26 职场文书
邹越演讲观后感
2015/06/15 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis