flex-basis
设置子项的占用空间。如果设置了值,则子项占用的空间为设置的值;如果没设置或者为auto,则子项的空间为width/height的值。
基准宽度,以这个为标准,就算子元素设置width了,也要以flex-basis为标准。
flex-grow
用来瓜分父元素的剩余空间
按着flex-grow默认是0
例子: 若有剩余空间180px,有三个子元素,第一个没设置flex-grow,第二个设置为2,第三个设置为1,则180px被分成3份,然后按比例分,则第一个分到0,第二个分到120px,第三个60px。他们再加上分到的宽度就是真实的
flex-shrink
用来吸收超出的空间
默认值为1
例子: 若超出了100px,有三个子元素,第一个没设置flex-grow,基准宽度为250px。第二个设置为2,基准宽度为150px。第三个设置为2,基准宽度为100px。则第一个需要吸收的空间是(2501)/(2501+1502+1002)*100 = 33.33px,同理2为40px,3为67px,他们各自用基准宽度减去
吸收的空间就是真实的宽度
网友评论