CSS长度单位详解

CSS长度单位详解

在网页开发(CSS)中,长度单位决定了元素的大小、间距和布局方式。选择合适的单位对于实现响应式设计(适配不同屏幕尺寸)可访问性(适应用户字体偏好)至关重要。

以下是 px、%、em、rem、vw、vh 这六种常用单位的详细介绍。


1. px (Pixel – 像素)

定义:绝对长度单位,代表屏幕上的一个物理像素点。

特点

  • 固定不变:不会随父元素大小或用户字体设置的变化而变化
  • 精确控制:适合需要严格像素级对齐的场景(如边框粗细、图标大小)

2. % (Percentage – 百分比)

定义:相对长度单位,相对于父元素的对应属性值计算。

特点

  • 参照物多变
    • width/height:相对于父元素的宽高
    • font-size:相对于父元素的字体大小
    • margin/padding:水平和垂直方向都相对于父元素宽度
  • 流动性强:非常适合流体布局

3. em

定义:相对长度单位,相对于当前元素的字体大小。

特点

  • 累积效应:嵌套使用 em 会导致字体大小累乘放大或缩小

4. rem (Root Em)

定义:相对长度单位,相对于根元素<html>的字体大小。

特点

  • 无累积效应:嵌套使用时1 rem 始终等于根元素的字体大小
  • 全局可控:修改<html>的 font-size 会导致页面的比例尺变化
  • 无障碍友好:尊重用户的浏览器默认字体设置
  • 现代开发首选:目前移动端适配和组件库开发中最常用的单位

5. vw & vh (Viewport Width & Height – 视窗宽度/高度)

定义:视口相对单位,相对于浏览器可视窗口的大小

特点

  • 独立层级:直接锚定视窗尺寸
  • 全屏布局:常用于制作全屏海报或保持元素在屏幕特定位置

6.使用建议

  • 字体大小:常用 rem
  • 布局宽度
    • 容器宽度常用 % 或 max-width 配合 rem
    • 全屏区块常用 vw / vh
  • 间距
    • 组件内部间距常用 em
    • 页面布局间距常用 rem