在通常情况下,都会直接使用flex: 1
让子元素均分父元素的宽度,但是有些时候一行只存在两个元素的时候,他们也会均分,导致了这两个元素的宽度与前面不符。如图:
显然这不是我们想要的效果,后来查阅了资料之后发现flex是一个复合属性,是flex-grow
、flex-shrink
和flex-basis
的集合
flex-grow
是定义元素放大的比例,默认值是0
flex-shrink
是定义元素缩小的比例,默认值为1
flex-basis
是定义在分配多余空间之前,元素占据主轴的尺寸,默认值为auto
后来把我flex: 1
改为了flex: 0 0 25%
出现的效果就符合我们的预期了,如图: