CSS Flexbox 参考表

3 阅读2分钟

CSS Flexbox 参考表

容器属性(作用在父元素上)

属性可选值默认值说明
displayflex inline-flex定义块级或行内级 flex 容器
flex-directionrow row-reverse column column-reverserow主轴方向:水平左→右 / 水平右→左 / 垂直上→下 / 垂直下→上
flex-wrapnowrap wrap wrap-reversenowrap是否换行:不换行(压缩) / 换行(第一行在上) / 换行(第一行在下)
flex-flow<flex-direction> <flex-wrap>row nowrap上述两个属性的简写,例:column wrap
justify-contentflex-start flex-end center space-between space-around space-evenlyflex-start主轴对齐:起点 / 终点 / 居中 / 两端等距 / 项目两侧等距 / 完全等距
align-itemsstretch flex-start flex-end center baselinestretch单行交叉轴对齐:拉伸填满 / 起点 / 终点 / 居中 / 文字基线对齐
align-contentstretch flex-start flex-end center space-between space-aroundstretch多行交叉轴对齐(需 flex-wrap: wrap 且容器有额外高度)
gap row-gap column-gap长度值(如 20px1rem0项目之间的间距。gap 同时设置行/列间距;row-gap 行间距;column-gap 列间距

项目属性(作用在直接子元素上)

属性可选值默认值说明
order整数(可负)0排列顺序,数值越小越靠前
flex-grow非负数0放大比例:剩余空间分配权重。0 表示不放大
flex-shrink非负数1缩小比例:空间不足时的缩小权重。0 表示禁止缩小
flex-basis长度(200px) 百分比(30%auto 0%auto分配剩余空间前的初始主轴尺寸。auto 参考自身宽高;0% 忽略内容宽度
flex简写:<flex-grow> <flex-shrink> <flex-basis>0 1 auto常用快捷值见下表
align-selfauto(继承容器) stretch flex-start flex-end center baselineauto覆盖容器的 align-items,单独定义该项目在交叉轴上的对齐方式

flex 常用快捷值速查

快捷值展开值行为说明
flex: 11 1 0%等分剩余空间(忽略内容宽度,从0起点分配)
flex: auto1 1 auto基于内容宽度再分配剩余空间(内容越长,最终越大)
flex: none0 0 auto固定尺寸,不伸缩(内容多大就多大,溢出也不缩小)
flex: 0 1 auto默认值可缩小但不放大,基于内容宽度

对齐方式速查(主轴 vs 交叉轴)

应用场景使用的属性常见值
主轴对齐(单行/多行整体)justify-contentcenterspace-betweenflex-end
交叉轴对齐(单行)align-itemscenterstretchflex-start
交叉轴对齐(多行整体)align-contentcenterspace-betweenstretch
单个项目覆盖交叉轴对齐align-selfcenterflex-endstretch

浏览器兼容性简表

浏览器最低支持版本备注
Chrome29+完全支持
Firefox28+完全支持
Safari9+部分旧版需 -webkit- 前缀
Edge12+完全支持
IE 10 / 11部分支持-ms- 前缀,gap 不支持,flex-basis 有 bug