不仅容器有许多属性,项目也有属于自己的属性
项目的属性如下
- align-self:单个项目的对齐方式,不同于其他项目的
- order:排列顺序,项目的默认值是0,按照 从小到大排序
- flex-grow:项目放大比例,默认是0。规则:当所有项目在主轴上已经铺满时,设置此属性项目不会放大;当未铺满时,项目最大放大到项目铺满,不会溢出;当项目放大比例小时,可以不 铺满。
- flex-shrink:项目缩小比例,默认是1。规则:当所有项目在主轴上没有额外的空间时,项目缩小
- flex-basis:指定项目的初始大小,在用flex-grow和flex-shrink调整大小之前,默认是auto
- flex:是flex-grow,flex-shrink,flex-basis的综合。默认flex:0 1 auto
.item:nth-child(2){
/*绝对flex 项目*/
flex:0 1;
}
.item:nth-child(2){
/*相对flex 项目*/
flex-basis:0px;
}
// flex项目不会放大,会在必要时缩小
flex:0 1 auto;
// 宽度自动计算,不会放大或缩小项目
flex:0 0 auto;
flex:none
// 自动初始化宽度,必要时放大或缩小宽度 以适应
flex:1 1 auto
flex:auto
举个栗子
单个项目的对齐方式,交叉轴方向的
.box{
display:flex;
}
.item:nth-child(2){
align-self:center
}
其他对齐方式.png
.box{
display:flex;
}
.item:nth-child(2){
align-self:flex-end;
}
其他对齐方式.png
order排序
.box{
display:flex;
}
.item:nth-child(2){
order: -10;
}
.item:nth-child(3){
order: 10;
}
.item:nth-child(4){
order: -2;
}
order排序.png
flex-grow 项目放大
.item:nth-child(2){
flex-grow:0.4;
}
放大倍数小时.png
// 放大倍数很大时,最多只能铺满
// 所以当已经铺满时,放大倍数这个属性就没有作用了
.item:nth-child(2){
flex-grow:4;
}
放大倍数很大时,最多只能铺满.png
参考链接:
https://www.w3cplus.com/css3/flexbox-adventures.html
https://www.w3cplus.com/css3/understanding-flexbox-everything-you-need-to-know.html
网友评论