flex 属性值

143 阅读1分钟
flex: initial === flex: 0, 1, auto
flex:1  ===   flex: 1 1 0%
flex: 100px === flex: 1, 1, 100px
flex: 1, 2 === flex: 1, 2, 0%
flex: 1, 100px === flex: 1, 0, 100px
flex: 1,2,50% === flex: 50%,1,2
flex: auto === flex: 1, 1, auto
flex: none === flex: 0, 0, auto

  • content + width:100px + flex-basis:100px = content + flex-basis:100px = max(content, flex-basis) = 大于等于100px(width 与flex-basis同时存在的情况下,width不生效,子元素的宽度为flex-basis的值);
  • width:100px + flex-basis:auto = 元素自身100px;
  • content + flex-basis:100px = max(content, flex-basis) = 大于等于100px;
  • min-width max-width 优先级大于 flex-basis;
  • flex-basis:100% 子元素宽度等于父元素宽度

flex 会与 position: fixed,absolute 冲突,导致flex布局失效(注意不包括相对定位)

设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

元素同时应用了position: absolute及float属性,则float失效。

元素同时应用了float、position: relative、(top/left/bottom/right)属性后,则元素先浮动到相应的位置,然后在根据(top/left/bottom/right)所设置的距离来发生偏移。