flex:1和flex:auto详解
首先明确一点是, flex 是 flex-grow、flex-shrink、flex-basis的缩写。
flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
实现一侧固定宽度,一侧自适应,使用flex:1;实现,发现左侧无论多少内容,右侧宽度都是固定的,没有被挤压
代码:
style="flex:1;" style="width:200px;" style="flex:1; "style="flex:1;"style="flex:1;"style="flex:1;"style="flex:1;"style="f lex:1;"style="flex:1;"style="flex:1;"style="flex:1;"style="flex:1;"style="fle x:1;"style="flex:1;"style="flex:1;" style="width:200px;"
效果:
flex-grow:0;flex-shrink;1;flex-basis:auto;缺一不可,如果没有flex-basis:auto;
效果:
利用Bootstrap已封装的css实现,发现实现不了,
利用class="flex-grow-0 flex-shrink-1" style="flex-basis:auto;"组合也实现不了