我一直想知道这个问题已经有一段时间了,创建了像素版本和em版本来比较放大时的差异 - 没有。我所阅读的大部分内容都表明“你需要让它们成为可扩展性的ems”,但我认为现在所有现代浏览器都能正确扩展,这是一个没有实际意义的问题。只要将CSS中的基本字体大小设置为ems / rems,以像素为单位的填充和边距将相应缩放,就像它们是ems一样。我错过了什么吗?
答案 0 :(得分:2)
EM(等)单位不适用于视口缩放 - 它们与当前字体大小有关。它们的设计是为了使我的字体非常大(因为我的眼睛很差)或非常小(因为我年轻并且有一只老鹰的眼睛),我希望文本周围的白色空间随着文本。通常,人们不希望20段文本在段落之间具有5像素边距,也不需要10磅文本和50像素边距。
例如,人们希望文本在段落之间具有大约 N 行的空白行。使用 N em垂直边距可以实现适应实际渲染字体大小的间距。
在现代网络中,em(等)单位仍然有自己的位置;但他们不是为了一切。从本质上讲,你必须问自己,“这个尺寸是否会随字体变化?”
另外,如果您决定更改正文字体大小,该怎么办?许多其他布局值从该正文大小开始流动。假设您确定16pt-18pt的默认浏览器查看大小比您现在使用的10pt大小更有意义。如果你已经用ems设置了适当的东西,那么当你增加基数时,其他一切都会随之增加。