css flex:1和flex属性的详细解释

2022-07-06  本文已影响0人  keknei

flexflex-growflex-shrinkflex-basis的缩写,默认值是0 1 auto。后两个属性可选


flex的取值
  1. initial: 即取上面三个属性的默认值,0 1 auto,在有剩余空间的情况下不会有任何变化,但是在必要的情况下(子元素宽度的和大于父元素的宽度)会被收缩。
  2. none: 计算值为0 0 auto,在任何情况都不会发生伸缩。等同于
      .el{ flex:none; }
      .el{
          flex-grow:0;
          flex-shrink:0;
          flex-basis:auto;
       }
    
  3. auto: 计算值为1 1 auto,会根据主轴自动伸缩以占用所有剩余空间。等同于
      .el{ flex:auto; }
      .el{
          flex-grow:1;
          flex-shrink:1;
          flex-basis:auto;
       }
    
  4. 一个非负数字: 该数字为 flex-grow 值,flex-shrink1flex-basis0%,等同于
      .el{ flex:1; }
      .el{
          flex-grow:1;
          flex-shrink:1;
          flex-basis:0%;
       }
    
  5. 一个长度或百分比: 则视为 flex-basis 值,flex-grow1flex-shrink1,等同于(注意 0% 是一个百分比而不是一个非负数字):
      /*百分比形式的*/
      .el{ flex:0%; }
      .el{
          flex-grow:1;
          flex-shrink:1;
          flex-basis:0%;
       }
    
      /*长度形式的*/
      .el{ flex:20px; }
      .el{
          flex-grow:1;
          flex-shrink:1;
          flex-basis:20px;
       }
    
  6. 两个非负数字: 则分别视为 flex-growflex-shrink的值,flex-basis0%,等同于:
      .el{ flex:1 2; }
      .el{
          flex-grow:1;/*第一个非负数字*/
          flex-shrink:2;/*第二个非负数字*/
          flex-basis:0%;
       }
    
  7. 一个非负数字,一个长度或百分比: 则分别视为 flex-growflex-basis 的值,flex-shrink1,等同于:
      .el{ flex:11 450px; }
      .el{
          flex-grow:11;
          flex-shrink:1;
          flex-basis:450px;
       }
    
上一篇 下一篇

猜你喜欢

热点阅读