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 中的@keyframes介绍
Sep 02 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
Sep 10 HTML / CSS
纯html5+css3下拉导航菜单实现代码
Mar 18 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
Apr 25 HTML / CSS
HTML5 Canvas阴影使用方法实例演示
Aug 02 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
Mar 14 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
Apr 30 HTML / CSS
Html5实现首页动态视频背景的示例代码
Sep 25 HTML / CSS
Web前端:CSS最强总结 附详细代码
Mar 31 HTML / CSS
css3 实现文字闪烁效果的三种方式示例代码
Apr 25 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
用session做客户验证时的注意事项
2006/10/09 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
初学Python函数的笔记整理
2015/04/07 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
戴森美国官网:Dyson美国
2016/09/11 全球购物
什么是Rollback Segment
2013/04/22 面试题
建筑自我鉴定
2013/10/19 职场文书
西式婚礼证婚词
2014/01/12 职场文书
文明教师事迹材料
2014/01/16 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
统计系教授推荐信
2014/02/28 职场文书
融资合作协议书范本
2014/10/17 职场文书
警示教育片观后感
2015/06/17 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
CentOS安装Nginx并部署vue
2022/04/12 Servers