css3弹性盒模型flexbox

版权声明:原创内容转载请注明出处: https://blog.csdn.net/wuzhe128520/article/details/89789274

一、设置给父元素的属性,控制子元素的显示方式

display: flex/display: inline-flex

设置给父元素盒子,将一个元素设置成弹性盒子;

flex-direction

决定显示的方向 (即项目的排列方向)
1.row: 默认值,左对齐,顺序显示
2.row-reverse: 右对齐 倒序显示 3.column: 竖直顺序显示 4.column-reverse: 竖直倒序显示

flex-wrap

如果一行排不下,如何换行
1.nowrap: 默认,不换行(同单行文本不换行)
2.wrap 换行显示
3.wrap-reverse 换行反向显示

flex-flow

flex-direction和flex-wrap属性的简写形式,默认值为 row nowrap

justify-content

定义了项目在水平方向的对齐方式
1.flex-start: 默认值,开始位置对齐
2.flex-end: 结束位置对齐
3.center: 居中
4.space-between: 两端对齐,项目之间的间隔都相等
5.space-around: 每个项目两侧的间隔相等。项目之间的间隔比项目与边框的间隔大一倍。(同margin)

align-items

定义项目在竖直方向上如何对齐
1.flex-start: 上端对齐
2.felx-end: 下端对齐
3.center: 居中
4.baseline: 第一行文字的底端基线对齐
5.stretch: 默认值;如果项目未设置高度或设置为auto,将占满整个容器的高度。

align-content

定义了多行的对其方式。如果项目只在一行,该属性不起作用
1.flex-start: 上端对齐
2.flex-end: 下端对齐
3.center: 居中
4.space-between: 两端对齐每行之间间隔相等
5.space-around: 两端对齐每行项目上下的间距相等,所以两行项目之间的间距是单个的两倍(同margin)
6.stretch: 默认值;如果项目未设置高度或设置为auto,每行均分盒子的高度。

二、设置给子元素项目的属性,控制子元素本身的显示方式

order

定义项目的排列顺序。数值越小,排列越靠前,默认为0.可为负值

flex-grow

定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

flex-shrink

定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 如果所有项目的flex-shrink属性默认为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目为1,则空间不足时,前者不缩小。负值对该属性无效。

flex-basis

定义了在分配多余空间之前,项目占据的主轴空间。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。它可以设置跟width或height属性一样的值,则项目将占据固定空间。若设置了此值,则项目的宽度无效,将显示为flex-basis的值。

flex

flex-grow,flex-shrink和flex-basis的简写,默认值为0 1 auto。该属性还有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

align-self

允许单个项目有与其他项目不一样的对齐方式,可覆盖父元素设置的align-items属性。默认值为auto,表示继承父元素的align-item属性,如果没有父元素,则等同于stretch.

猜你喜欢

转载自blog.csdn.net/wuzhe128520/article/details/89789274