flex-shrink

flex-shrink 属性指定了 flex 元素的收缩规则,默认值是1。在flex 元素的默认宽度之和大于容器的宽度时候,元素会发生收缩,其收缩的大小的依据是 flex-shrink 值。

示例1

<div style="display:flex; align-items: center; margin:100px;"><div style="width: 100px; height:30px; background: gray; "></div><div style="width: 100px; height:30px; background: pink; "></div><div style="width: 300px; height:30px; background: rgb(182, 182, 78); "></div><div style="width: 300px; height:30px; background: rgb(165, 96, 165); "></div>
</div>

子元素的宽度之和为 100+100+300+300=800px,每个子的默认flex-shrink值是1。


当父容器被压缩到小于800px的时候,比如压缩到560px时,里面的子元素也会被相应地压缩。各个子元素被压缩掉多少宽度呢?

4个子div的宽度比是 1:1:3:3,4个子元素的默认flex-shrink值都是1,所以flex-shrink比例:1:1:1:1。

(1:1:3:3) x (1:1:1:1) = 1:1:3:3,得每个子元素的被压缩掉的那部分宽度的比例是 1:1:3:3 。

父容器从800px收缩到560px,即总宽度被压缩掉了240px,则每个子元素相应被压缩掉
30px、30px、90px、90px。所以每个子元素的剩余宽度是:


示例2

当不想某个子元素在父容器变窄时被压缩,可以使用 flex-shrink:0 ,比如


4个子div的宽度比是 1:1:3:3,4个子元素的flex-shrink值的比例是:1:1:0:1。

(1:1:3:3) x (1:1:0:1) = 1:1:3:3,得每个子元素的被压缩掉的那部分宽度的比例是 1:1:0:3 。

父容器从800px收缩到560px,即总宽度被压缩掉了240px,则每个子元素相应被压缩掉
48px、48px、0px、144px。所以每个子元素的剩余宽度是:


最后注意:如果元素不是弹性盒对象的元素,则 flex-shrink 属性不起作用。

flex-shrink 解决实际问题(flex-shrink:0避免图片被压扁)相关推荐

  1. html flex上下居中,css3 flex实现div内容水平垂直居中的几种方法

    一.flex-direction: (元素排列方向) ※ flex-direction:row (横向从左到右排列==左对齐) ※ flex-direction:row-reverse (与row 相 ...

  2. oracle 12c rac flex,ORACLE 12CR2 RAC Flex集群与传统标准集群的区别与设置

    ORACLE 12CR2 RAC Flex集群与传统标准集群的区别与设置 本文主要讲述安装配置ORACLE 12C R2 RAC时,需要注意的方面:即是Flex集群还是传统的标准集群,默认安装的情况下 ...

  3. html flex 上中下布局,flex 布局

    FlexiableBox即是弹性盒,用来进行弹性布局,一般跟rem(rem伸缩布局(转))连起来用比较方便,flexbox负责处理页面布局,然后rem处理一些flex顾及不到的地方(rem伸缩布局主要 ...

  4. ArcGIS Flex API 中的 Flex 技术(一)--事件

    作者:Flyingis 本文严禁用于商业目的,如需转载请注明作者及原文链接,其他疑问请联系:dev.vip#gmail.com 在ArcGIS Flex API中探索Flex使用是一种不错的学习方法, ...

  5. JavaScript 5/30:Flex Panel Gallery即FLEX布局的图片库

    JavaScript30 为Wes Bos推出的一项为期30天的挑战,旨在帮助人们用纯JavaScript来实现效果,初学者若想在JS方面快速精进,不妨一试.本题为第五题. 实现效果 点击任意一张图片 ...

  6. 步步为营!高手教你如何有效使用深度学习解决实际问题

    来自法国 Capgemini Invent 公司的高级数据科学家 Ahmed BESBES 三个月前参加了一个其公司内部的比赛:使用机器学习方法帮助海洋科学家更好的识别鲸鱼,根据鲸尾页突的外观作为主要 ...

  7. c++获取输入数字的位数/获取位数并且将其存入数组中/获取位数存入数组并且利用它解决实际问题

    1.仅仅获取数字的位数: int checkNumber(int num){int weishu = 0;for (int i = 1, num1 = num, shuzu = 0; num / i; ...

  8. flex连接mysql_java与flex结合做的登陆(连接数据库)

    在做项目的时候用的是php+flex,自己闲的没事用java+flex写的小例子,希望对java程序员学习flex有所帮助吧.java与flex结合有几种方式: [1]:通过flex-plugin的一 ...

  9. flex布局HTML实例,Flex常见布局实例

    如果对flex不是很熟悉的同学,可以看一下我的另一篇文章Flex 布局 1.网格布局 1.1.基本网格布局 最简单的网格布局,就是平均分布. HTML代码如下. 1/2 1/2 1/3 1/3 1/3 ...

最新文章

  1. ggClusterNet---一条代码完成全内容微生物网络
  2. php cookie expires,php cookie类(设置、获取、删除cookie值)
  3. 看了《OCP/OCA认证考试指南全册:Oracle Database 11g(1Z0-051,...
  4. JSR 310新日期/时间API的自定义JSR 303 Bean验证约束
  5. 内核代码架构图 :systemtap函数选择点
  6. UITextField监控文字变化方法
  7. ADB命令行工具使用
  8. IIS架设FTP服务器图文教程
  9. 注册表改win 7更新服务器,uefi安装win7卡在更新注册表设置解决新方法(完美解决)...
  10. 计算机设置页眉教案,设置页眉页脚——教学设计-20210318083746.docx-原创力文档
  11. 最受推荐的10本Python书籍
  12. 绘制网络组建拓扑图方法分享
  13. 玩转5800XM资源大搜罗--软件篇
  14. laravel 基础教程 —— Eloquent
  15. cv2 改变图片大小 resize
  16. Shell if 条件判断
  17. php生成随机姓名,PHP随机生成中国人姓名的类
  18. Bootstrap4模态框垂直居中
  19. MP4文件格式简要解析---代码解析
  20. 【excel】解决录制宏时报错:为便于记录,启动文件夹中的“个人宏工作簿”必须保持打开状态

热门文章

  1. 秉火429笔记之四启动文件分析
  2. Java面试题日积月累(JavaSE40道)
  3. 人工智能会拥有意识吗?
  4. 针对“扫雷“和“植物大战僵尸“游戏,分析,扫描,阳光值,植物,金币,僵尸的分析逆向
  5. QQ2010协议技术详细分析QQ登陆过程
  6. 论文翻译:2021_DeepFilterNet: A Low Complexity Speech Enhancement Framework for Full-Band Audio based on
  7. 人工神经网络算法实战教程
  8. Android FrameWork学习(一)Android 7.0系统源码下载\编译
  9. php ziparchive(),PHP: ZipArchive - Manual
  10. grapher中文版 附序列号