css3中flex-basis与width的区别

1. width和flex-basis同时存在时
    .flex-wrap{
      display: flex;
      width: 600px;
      height: 100px;
      border: 1px solid #ddd;
    }
    .flex-item{
      width: 200px;
      flex-basis: 100px;
    }
    .item1{
      background: #66efab;
    }
    .item2{
      background: #efe24e;
    }
    .item3{
      background: #ef6754;
    }
    .item4{
      background: #ef9fef;
    }
    .item5{
      background: #191def;
    }
<div class="flex-wrap">
    <div class="flex-item item1">item1</div>
    <div class="flex-item item2">item2</div>
    <div class="flex-item item3">item3</div>
    <div class="flex-item item4">item4</div>
    <div class="flex-item item5">item4</div>
  </div>

效果:
在这里插入图片描述
分析:
当flex-basis和width属性同时存在时,width属性不生效,flex item的宽度为flex-basis设置的宽度

2. 只存在width情况,且flex items宽度和大于flex容器宽度
    /*仅展示修改部分*/
    .flex-item{
      /*flex-basis: 100px;*/
      width: 200px;
    }
    .item1{
      background: #66efab;
      width: 100px;
    }

在这里插入图片描述
所有flex item等比例被压缩到充满flex容器
结果分析:

当flex空间不够时,由于flex-shrink的默认值为1,所以所有flex items容器等比例被压缩
3. 当存在flex-basis,所有的flex item是宽度之和大于flex容器宽度
    /* 仅展示修改的代码*/
    .flex-item{
      flex-basis: 300px;
      width: 200px;
    }
    .item1{
      background: #66efab;
    }

在这里插入图片描述
结果分析:
这种情况同2类似,都是在flex-shrink的作用下等比例缩小

4. max-width对flex items宽度的影响
    /*仅展示修改部分*/
    .flex-item{
      flex-basis: 300px;
      max-width: 100px;
    }
    .item1{
      background: #66efab;
    }

在这里插入图片描述
结果分析:
max-width决定了flex items的最大宽度

5. min-width对flex items宽度的影响
    /*仅展示修改内容*/
    .flex-item{
      flex-basis: 80px;
      min-width: 100px;
    }
    .item1{
      background: #66efab;
    }

在这里插入图片描述
结果分析:
min-width决定了flex items的最小宽度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值