开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
前面一章给大家介绍了什么是弹性盒子,以及容器有关的属性,今天给大家介绍一个弹性盒子项目身上的属性。
项目属性(子元素的属性)
1、 order
定义项目的排列顺序,数值越小,排列越靠前,默认值为0 值:为数字可以是负数
2、flex-grow
作用: 定义项目在容器的剩余空间里的放大比例 值:是数字,默认是0,就是如果存在剩余空间也不放大。
注意:如果所有项目的flex-grow属性值都为1,则他们将等分剩余的空间,如果一个项目的flex-grow属性为2,其他项目为1,则前者占据的空间要比其他项目多一倍。
3、flex-shrink
作用:定义项目的缩小比例 值:是数字 默认值为1,就是如果空间不足,该项目将缩小
注意:如果所有项目的flex-shrink值都为1,当容器空间不足时,所有项目等比缩小,如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小,负值无效
4、flex-basis
- 作用:定义了在分配多余空间之前,该项目占据的主轴空间,浏览器根据这个属性,计算主轴是否有多余空间,它的默认值为
auto,就是项目本来的宽高 - 语法:
flex-basis:多少px / auto / 百分比;(100%表示充满整个容器的宽) - 它可以设置为跟width或height属性一样的(350px),则该项目将占据固定空间。
- flex属性是
flex-grow,flex-shrink和flex-basis的简写,默认值为0 1 auto - auto 相当于(1 1 auto) 1相当于(1 1 0%)
- none相当于(0 0 auto)
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值
5、align-self
作用:允许单个项目与其他项目不一样的对齐方式,可覆盖align-items属性,默认值为auto,表示继承父元素的align-items,如果没有父元素,则等同于stretch。
- 值1:
auto - 值2:
flex-start - 值3:
flex-end - 值4:
center - 值5:
baseline - 值6:
stretch默认值
想设置水平排列,
flex:值:数字;该属性加给项目。该属性会让项目根据容器的剩余空间,进行分配份数