flex属性计算

	<div class="parent">
      <div class="item-1"></div>
      <div class="item-2"></div>
      <div class="item-3"></div>
    </div>

    <style type="text/css">
      .parent {
        display: flex;
        width: 600px;
      }
      .parent > div {
        height: 100px;
      }
      .item-1 {
        width: 140px;
        flex: 3 1 0%;
        background: blue;
      }
      .item-2 {
        width: 200px;
        flex: 6 1 auto;
        background: darkblue;
      }
      .item-3 {
        flex: 1 1 200px;
        background: lightblue;
      }
   </style>

前提:在不考虑第二个值的情况下计算。即flex:xxx 1 xxx;
第二个值涉及到宽度超出溢出的情况。该值在这里讲解的很详细了。

flex: group shrink basis 即:
flex: 扩张比 缩放比 初始长度

flex子元素盒子大小 = 扩展空间+初始长度

子元素flex值:
flex: 3 1 0% width: 140px
flex: 6 1 auto width: 200px
flex: 1 1 200px width: auto

根据上面的三个flex来分析:
剩余空间
剩余是取决于flex的第三个参数即初始长度,以上分别为 0%, auto, 200px。
0% 指的width的值的百分比,那这里就是0。
auto,继承主尺寸即宽度,所以是200px
200px, 有指出则直接是该值。
剩余空间=总宽度-总基础长度:0 + 200 + 200 = 400,600 - 400 = 200
扩张比例
比例是指剩余空间的分配比例,取决于flex的第一个参数,扩张值。计算为实际的px值则是:该元素的扩张值=剩余数/比例总数*每份比例
扩张比例:3:6:1 = 60 120 20
子元素宽度 = 剩余分配值 + 初始长度
0 + 60 = 60
200 + 120 = 320
200 + 20 = 220

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值