REM单位如何根据屏幕大小进行缩放

6

我正在使用rem单位设计网站,有些人说,rem单位会根据屏幕大小改变尺寸。

我试着将浏览器窗口拖到移动设备大小,并从chrome开发者工具中查看(计算样式)

但我看到的是,它仍然与桌面大小相同。仍然是21px。它没有改变。

你能解释一下,rem单位是做什么的吗?

谢谢。


请查看:http://www.sitepoint.com/css3-rem-units/ ...解释得非常好。 - Ani
谢谢Ani解释了如何根据根元素(即<html>)计算rem,但它并没有解释在不同屏幕尺寸下rem的行为。正如我之前所解释的,rem单位必须有一些特殊之处,因为它所做的只是像像素一样。我认为它是根据屏幕尺寸进行缩放的。 - Edward Anthony
@MrLister感谢您的回复, 您能帮我检查一下这个吗? http://www.vilepickle.com/blog/2012/03/13/00142-font-sizing-css-em-vs-px-vs-rem#.UrTOeWQW2A0他解释说:“我过去一直使用'px'大小,但我意识到对于不同的屏幕尺寸,它变得有问题了。因此,我转而使用'em'”通过阅读,我得出结论,即rem随着浏览器宽度的变化而变化。 - Edward Anthony
那并不是这样的,你可以通过使用单位来检查自己。或者如果你懒得动手,可以使用我的fiddle。改变浏览器窗口的宽度,看看内容如何变化。 - Mr Lister
顺便说一下,我在第一条评论中说错了。实际上,“vw”是浏览器宽度的1%,“rem”是HTML元素的字体大小。感谢@onetrickpony指出这一点。 - Mr Lister
@MrLister 我明白为什么人们使用rem而不是像素。 因为在移动设备上,我们需要比桌面版本更小的文本。 通过使用rem,我可以使用媒体查询来在移动宽度时将<html>字体大小更改为95%。 更改<html>上的1个字体,它会更改页面上的所有内容。CMIW - Edward Anthony
1个回答

10
rem单位代表根元素的字体大小,即HTML文档中的html元素。也就是说,它是“根em”。与屏幕大小没有任何关系。
使用rem而不是em的唯一好处是避免进行一些计算。您可以将���体大小设置锚定到根元素的字体大小,而不必考虑可能具有不同字体大小的嵌套元素。但是,使用旧版浏览器的用户可能无法识别rem单位,导致忽略rem的字体大小设置。
在实践中,使字体大小随屏幕大小或窗口大小(两个不同的概念)变化的方法是使用CSS @media查询来根据屏幕或窗口大小(通常是宽度)设置font-size(以某些单位为单位)。

这段代码的解释更好依赖于 DPI 和对视网膜屏幕可能会有所不同。 - Mirza Obaid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接