在CSS中使用ems代替%有什么好处?

Ali*_*xel 14 css em units-of-measurement

我理解使用ems支持静态测量(如像素点)的优势,但为什么那里的大多数CSS人员(例如,除外)更喜欢使用ems而不是%值?

Que*_*tin 13

对于字体大小:

  • em和%都相对于父元素的字体大小(即2em和200%总是给出相同的结果)
  • ems有排版历史(虽然CSS em与排版em不同)
  • CSS的浏览器实现与%相比具有更少的错误

对于其他一切(例如元素的宽度):

  • em是相对于字体大小的
  • %是相对于父元素

......所以他们做了完全不同的事情,需要根据具体情况加以考虑.

  • @Paul - 最大的一个可能就是Internet Explorer(我无法说出我脑子里的版本)在哪里,在ems中指定的字体大小,使用视图菜单更改字体大小将调整大小远远超过预期(所以"小"变成"微观"而"大"变成"巨大". (2认同)
  • 根据规范:'em'单位等于使用它的元素的'font-size'属性的计算值.例外情况是'em'出现在'font-size'属性本身的值中,在这种情况下它引用父元素的字体大小. (2认同)