为了账号安全,请及时绑定邮箱和手机立即绑定

边框和边框中的flex-shrink系数如何?

边框和边框中的flex-shrink系数如何?

12345678_0001 2019-09-24 15:48:01
假设我们有一个宽度为400px的flex容器。该容器内有三个flex项目::nth-child(1) { flex: 0 2 300px; }   /* flex-grow, flex-shrink, flex-basis */:nth-child(2) { flex: 0 1 200px; }:nth-child(3) { flex: 0 2 100px; }因此弹性项目的总宽度为600像素,容器中的可用空间为-200像素。在这个问题,本文和flexbox规范的帮助下,我学习了在flex项目之间分配负自由空间的基本公式:第1步将每个收缩值乘以其基础,然后将它们加在一起::nth-child(1)  2 * 300 = 600:nth-child(2)  1 * 200 = 200:nth-child(3)  2 * 100 = 200总计= 1000第2步将上面的每个项目除以总计,以确定收缩系数::nth-child(1)  600 / 1000 = .6:nth-child(2)  200 / 1000 = .2:nth-child(3)  200 / 1000 = .2第三步将收缩因子乘以负自由空间,以确定从每个项目中删除的空间::nth-child(1)  .6 * -200px = -120px:nth-child(2)  .2 * -200px =  -40px:nth-child(3)  .2 * -200px =  -40px因此,每个弹性项目的计算大小应为::nth-child(1)  300px - 120px = 180px:nth-child(2)  200px -  40px = 160px:nth-child(3)  100px -  40px =  60px这些数字已在Chrome,Firefox和IE11中进行了测试,可以查看。计算工作完美。问题但是,当引入填充时,收缩结果是不同的。与一起应用填充时box-sizing: border-box,这会导致另一组数字。什么是flex-shrink当计算padding和box-sizing参与?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 663 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信