CSS 大小单位
一、自动适应屏幕的单位
要实现字体大小自动适应屏幕,推荐使用以下单位:
1. rem(推荐)
- 相对于根元素(html)的字体大小
- 最常用的响应式字体单位
- 便于全局控制和维护
1 | html { |
2. vw/vh(视口单位)
- vw:视口宽度的 1%
- vh:视口高度的 1%
- 直接跟随屏幕大小变化
1 | h1 { |
3. clamp()(现代最佳实践)
- 设置最小值、首选值、最大值
- 自动在范围内响应
1 | h1 { |
二、CSS 所有大小单位分类
绝对单位
| 单位 | 说明 | 使用场景 |
|---|---|---|
| px | 像素 | 需要精确控制的地方(边框、阴影) |
| pt | 点(1pt = 1/72 英寸) | 打印样式表 |
| pc | 派卡(1pc = 12pt) | 打印样式表 |
| in | 英寸 | 打印样式表 |
| cm/mm | 厘米/毫米 | 打印样式表 |
相对单位
| 单位 | 相对于 | 使用场景 |
|---|---|---|
| em | 父元素字体大小 | 局部缩放(padding、margin) |
| rem | 根元素字体大小 | 字体大小、布局间距 |
| % | 父元素对应属性 | 宽度、高度 |
| vw | 视口宽度的 1% | 响应式字体、全屏元素 |
| vh | 视口高度的 1% | 全屏高度、Hero 区域 |
| vmin | vw 和 vh 中较小的 | 正方形元素 |
| vmax | vw 和 vh 中较大的 | 特殊响应式需求 |
| ch | 字符 “0” 的宽度 | 限制文本行宽 |
| ex | 字母 “x” 的高度 | 排版微调 |
三、实际使用场景建议
字体大小
1 | /* ✅ 推荐:rem + 媒体查询 */ |
间距(padding/margin)
1 | /* ✅ 推荐:rem(统一缩放) */ |
宽度/高度
1 | /* ✅ 推荐:百分比 */ |
行宽控制
1 | /* ✅ 推荐:ch(字符宽度) */ |
四、最佳实践方案
1 | /* 基础设置 */ |
总结:
- 字体大小:优先使用
rem或clamp() - 间距:使用
rem或em - 宽度:使用
%或vw - 避免使用:纯
px(除非需要精确像素控制)