加载中...
CSS 弹性盒子布局模块,通过 display:flex 在一维方向(行或列)上灵活排列子元素,自动处理对齐、间距、换行,是现代 CSS 布局的基础工具,几乎完全取代了 float 布局时代的各种 hack。

| 类型 | CSS 布局模块 |
| CSS 规范 | CSS Flexible Box Layout Level 1 |
| 全面支持年份 | 2015 年 |
在 Flexbox 出现之前,垂直居中是 CSS 的经典难题:要么用 line-height 等 hack,要么用绝对定位计算偏移量,条件一变就失效。Flexbox 只需三行:display:flex; align-items:center; justify-content:center,立刻完美居中,且父元素尺寸怎么变都能自适应。
Flexbox 规范经历了漫长的演进,2009-2012 年之间语法改了三次(display:box、display:flexbox、display:flex),旧文章里的写法到现在可能早已废弃。当前语法的浏览器全面支持大约从 2015 年起,IE10/11 有一些 bug,2022 年 IE 退役后彻底没有历史包袱。[1]
理解 Flexbox 的关键是搞清楚主轴(main axis)和交叉轴(cross axis)的概念。flex-direction 决定主轴方向(row 或 column),justify-content 沿主轴对齐,align-items 沿交叉轴对齐。

| 类型 | CSS 布局模块 |
| CSS 规范 | CSS Flexible Box Layout Level 1 |
| 全面支持年份 | 2015 年 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧