[Medium] 🏷️ CSS 单位
1. 请说明 px, em, rem, vw, vh 的差异
快速比较表
| 单位 | 类型 | 相对于 | 是否受父元素影响 | 常见用途 |
|---|---|---|---|---|
px | 绝对单位 | 屏幕像素 | ❌ | 边框、阴影、小细节 |
em | 相对单位 | 父元素的 font-size | ✅ | 内距、边距(需要跟随字体大小) |
rem | 相对单位 | 根元素的 font-size | ❌ | 字体、间距、通用尺寸 |
vw | 相对单位 | 视窗宽度的 1% | ❌ | 响应式宽度、全宽元素 |
vh | 相对单位 | 视窗高度的 1% | ❌ | 响应式高度、全屏区块 |
详细说明
px (Pixels)
定义:绝对单位,1px = 屏幕上的一个像素点
特性:
- 固定大小,不会因为任何设定改变
- 精确控制,但缺乏弹性
- 不利于响应式设计和无障碍设计
使用时机:
/* ✅ 适合用于 */
border: 1px solid #000; /* 边框 */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 阴影 */
border-radius: 4px; /* 小圆角 */
/* ❌ 不建议用于 */
font-size: 16px; /* 字体建议用 rem */
width: 1200px; /* 宽度建议用 % 或 vw */
em
定义:相对于