当前位置: 首页 > Web前端 > CSS

Flex属性详解

时间:2023-03-30 17:25:15 CSS

.parent{display:flex;宽度:600px;}.parent>div{高度:100px;}.item-1{宽度:140px;弹性:210%;背景:蓝色;}.item-2{宽度:100px;弹性:21自动;背景:深蓝色;:11200像素;背景:淡蓝色;}阅读了阮一峰的flex布局教程和HaoyCn关于flex属性的解答,整理了这篇文章加深印象。flex属性是三个属性flex-grow、flex-shrink和flex-basis的简写形式。flex布局包括外部容器和内部item,flex属性是item的属性。设置好几个item的flex属性后,都会有一个初始指定的占用空间x(具体宽度值)。如果父元素容器的宽度值y大于子元素item占用的空间x,则y-x称为剩余分配空间。现将flex属性的细节整理如下:示例解释(借用HaoyCn的回答)

>
.parent{display:flex;宽度:600px;}.parent>div{高度:100px;}.item-1{宽度:140px;弹性:210%;背景:蓝色;}.item-2{宽度:100px;弹性:21自动;背景:深蓝色;:11200像素;背景:淡蓝色;}父容器在主轴上的总大小为600px。子元素的总参考值为:0%+auto+200px=300px,其中0%表示0,auto的宽度对应主尺寸即100px,所以剩余空间为600px-300px=300px。扩展和缩放因子之和为:2+2+1=5。剩余空间分配如下:item-1和item-2各分配2/5,各得到120pxiitem-3分配1/5,每项60px的最终宽度为:item-1=0%+120px=120pxitem-2=auto+120px=220pxitem-3=200px+60px=260px当item-1的参考值为0%时,它isTreattheitemashavingzerosize,所以即使声明它的大小为140px也没用,item-2的基值选择auto时,根据规则,使用的参考值是主要尺寸值,即100px,所以这100px不会被计入剩余空间。auto-HaoyCn的回答有什么区别