CSS 单位 px、em、rem 的区别与选择

技术 · 24 天前
CSS 单位 px、em、rem 的区别与选择

在CSS中,px、em、rem是常用的长度单位,它们在应用中有显著区别:

  • px(像素):绝对单位,代表屏幕上固定的长度。1px通常是屏幕1吋的1/96。优势在于精确控制尺寸,但缺点是不随页面缩放改变。
  • em:相对单位,用于字体和一般长度单位时计算方式不同。

    • 字体大小:基于父元素的字体大小计算。如font-size: 2em;表示当前元素字体是父元素的两倍。
    • 宽度:基于当前元素的字体大小计算。如width: 2em;若当前元素字体为10px,则宽度为20px。若未设定当前元素字体,则继承父元素字体大小。
    • 特点:灵活性高,但多层嵌套时可能导致继承混乱,适合简单排版。
  • rem:相对单位,基于根元素(html)的字体大小计算。无论在哪使用,都以根元素为基准,解决了em的继承问题。适合响应式设计和移动设备开发。

选择策略

  • px:适合需要精确控制尺寸且不受页面缩放影响的场景。
  • em:适用于简单排版、少层级、仅需与父元素比较的版面。
  • rem:因避免了em的继承问题,成为响应式设计和移动设备开发的首选。现代CSS框架(如Tailwind CSS)也常使用rem作为长度单位,以提高响应式设计的灵活性和可维护性。
CSS
Theme Jasmine by Kent Liao