答案过去是绝对是的,因为如果你使用px
单位,你就完全阻止用户调整文本大小。
但是,浏览器缩放是如今使所有内容变大(包括文本)的默认方法,即使你使用px
,它也能很好地工作。
但是……Kathleen McMahon 深入研究了这个问题,发现将所有字体(font-size
和line-height
)都设置为相对单位仍然很有意义,因为
- 将字体设置为
px
会阻止浏览器设置进行字体大小调整(有些人确实使用这种设置),并且 - 使用相对单位设置字体可以随着用户使用浏览器缩放来保持更大的设计保真度(很多人都使用浏览器缩放)。
感觉这篇文章中可以添加更多信息。
例如,em 作为百分比乘数,因此一个标题为 2em 的 div 和一个子 div 也为 2em 会将您的字体大小增加四倍。最好使用 rem,它会提供一致的字体大小。
这真的取决于情况。我不认为使用 REMs 真的有好处。在很多情况下,使用 em 比 rem 更好。因为 em 相对于父级 div。例如,一个标题 h2 在 body 标签中与在 article 标签中的 h2 可以具有不同的尺寸。
答案是否定的。
如果你有可重复使用的组件,相对单位就成了数学上的噩梦。(2em 的 1.3em 的 1.3em 的 2em 有多大?)
像素工作得很好,可以轻松地与容器尺寸和图像的设计简介相匹配,并且可以确保你的标题和文本无论父级包装器如何都能保持一致。
@Neville,它不必是数学上的噩梦。
现在数学变得超级简单,你还可以支持用户更改他们的字体大小设置。
我也使用 rems 进行尺寸样式,它允许我在全局范围内增加整个设计的大小,如果我定位根元素的字体大小。我用它来使移动设备上的所有内容都稍微大一点,并在特定桌面尺寸范围内使所有内容都变小一点。到目前为止,我还没有遇到任何问题,但我不知道是否有人会反对它。
我的流程/方法是使用
rem
作为整个文档排版上下文;然后使用em
相对于特定上下文,如填充、上标;当某些东西被当作图像px
(svg、元素作为艺术品等)时。到目前为止,似乎工作得很好,虽然我没有对其进行研究。