flex 布局 教程笔记

2017-12-31  本文已影响14人  神刀

flex 布局

容器属性
flex-flow [flex-direction][flex-wrap]

flex-direction: [row] [row-reverse] | [column] [column-reverse] 方向
flex-wrap: [nowrap] | [wrap] | [wrap-reverse( 换行第二行在上面 )] 包裹

justify-content|主轴上对齐方式|

flex-start
flex-end
center 居中
space-between 保持相等间隔两端对齐
space-around 中间间隔两倍于两端

align-items|交叉轴上对齐方式|

flex-start:
flex-end:
center:交叉轴的中点对齐
baseline: 首行文字的基线对齐
stretch(默认值):高度未设或auto,将占满整个容器的高度。

align-content |多轴线对齐方式|

flex-start:
flex-end:
center: 与交叉轴的中点对齐
space-between:保持相等间隔两端对齐
space-around: 中间间隔两倍于两端
stretch(默认值):轴线占满整个交叉轴。

项目属性
order 定义排序 数越小越前
flex-grow 剩余空间分配的比例关系 定义放大比列, 默认为0,为 0 时不放大
flex-shrink 定义缩小比列,默认为 1,空间不足时自动缩小;为 0 时不缩小
flex-basis 定义项目基础空间,默认auto项目本来大小
align-self 定义项目自己的对齐方式
flex [flex-grow] [flex-shrink] [flex-basis] 简写式

flex: 默认值 [0 1 auto] | [auto] (1 1 auto) | [none] (0 0 auto)

align-self:
auto 表示继承父元素的align-items,如果无父元素等同stretch
flex-start
flex-end
center
baseline
stretch

主轴方向 由 flex-direction属性确定

flex 属性 [flex-grow] [flex-shrink] [flex-basis]
basis 设置为0,分配所有空间 ,可得到每个项目宽的精准比列

flex 应用

父元素包含不定数量子元素

带图标input输入框
父元素包裹图标和输入框,display:flex
input添加属性 flex:1

子项目的排序能力 通过order和flex-direction

切换排列顺序 flex-direction

上一篇下一篇

猜你喜欢

热点阅读