CSS 居中
居中是 CSS 中最基础也最核心的技能。根据元素类型(行内/块级)和已知条件(尺寸固定/不固定),有多种实现方式。
一、水平居中
1. 行内元素
用于文本、<span>、<a>、<img> 等。
2. 块级元素
定宽块级元素。
3. 绝对定位 + transform
无需定宽,兼容性较好。
4. Flex 布局 (推荐)
二、垂直居中
1. 单行文本
设置 line-height 等于父容器高度。
2. 绝对定位 + transform
3. Flex 布局
三、水平垂直居中
方案 1: Flex (标准)
最推荐使用,代码简洁,兼容性好。
方案 2: Grid (最简)
仅需两行代码。
方案 3: Absolute + Transform (未知宽高)
适用于不使用 Flex/Grid 的场景,依靠 CSS3 变换。
方案 4: Absolute + Margin auto
要求子元素有固定宽高,且设置了 top/bottom/left/right: 0。
总结与选择
常见面试题
- 如何实现一个元素水平垂直居中?
- 答出 Flex、Grid、Absolute+Transform 三种核心方案即可。
- 不固定宽高的元素如何居中?
- Flex/Grid 本身就无需宽高。
- Absolute +
transform: translate(-50%, -50%),因为百分比 translate 是相对于自身的。

