我从读线程就好理解了这一个是EMS的一点是要确定所有的测量在您的网页,通过该基地的字体大小,可以通过浏览器进行设置。
例如,在Chrome中,您可以转到settings -> show advanced settings -> web content -> font size: very large
。如果我使用的是大型高分辨率显示器,那可能会很远。
我创建了一个插件,演示了ems和px在大小调整方面的区别。
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
如果在浏览器中将字体大小设置为中,则这些div的大小相同,基本字体大小为16px,因此20em = 320px。
但是,当我将浏览器字体大小更改为非常大时,可以看到以ems为单位的div大小增加了。
但是,例如,如果我在body标签中定义字体大小,这种效果将被消除。
body {
font-size: 16px;
}
因为现在我的CSS覆盖了浏览器设置的字体大小。
我了解到,在较旧的浏览器时代,ems非常重要,因为放大页面只会放大字体。但是如今,现代浏览器同时放大像素和字体,使缩放问题变得毫无意义。
环顾网络-许多网站的确在其body标签中设置字体大小。
例如,堆栈溢出,在body标签中将font-size设置为13px。在浏览器中设置字体大小丝毫不会影响Stack Overflow的布局。
Google搜索结果无法执行此操作。
(这两个屏幕截图都是将chrome字体设置为非常大的,并且100%缩放)。
因此,您可能会争辩说,在body标签中设置字体大小是一个坏主意,因为它会阻止用户自己的辅助功能设置。但是,考虑到用户可以缩放以增加大小(这也会成比例地增加所有像素),这似乎并不是一个真正的问题。
body { font-size: XYZ; }
通过body { font-size: ZYX !important; }