CSS em
是一个很好的工具,但有些事情总是让我很烦恼,可能是因为我完全不理解它们。如何在CSS浏览器中浮动CSS字体大小值?
字体不能在每个尺寸上均匀渲染,特别是在不精确的值下很糟糕。这就是为什么,如果你想使用em
精确的像素值的字体给,你必须做这样的事情(假设你没有改变身体的16px的字体大小):
font-size: 0.875em; /* 14px */
font-size: 1.25em; /* 18px */
也许你只是想稍微增加一些尺寸,但后来意识到,0.9em
= 14.4px
,然后你害怕你的字体可能看起来模糊!在任何情况下,如果您给012栏的font-size
的1.25em
(18px
),然后将主体大小从16px更改为14px,则该段将为17.5px
。再次模糊!
假设我们正在处理像桌面一样的常见1x配给屏幕,例如,如何将字体渲染为11.5px
?我已将它们打印在测试html文件上,它们看起来完全像12px
字体。 但这是所有浏览器推荐的行为吗?那么在使用ems时,可以通过字体大小来确定填充和边距等大小?他们是否也被四舍五入?
编辑:我做了3个市长浏览器的效果图之间的比较。那就是:
我缩放它(200%)一点点,所以它更容易看到的细节。在顶部,您可以看到相同的文本如何在14px(左)和14.4px(右)呈现。下面,我使用Difference blendmode将它们覆盖在photoshop上,以查看是否存在任何差异。正如你所看到的,Chrome浏览器会调整字体大小,并以相同的大小呈现它,同时,框的高度也不相同。 Firefox具有相同的高度,但字体在x轴上呈现稍微不同,而字体的高度似乎相同。 IE的结果是一种混合。无论如何,我真的很惊讶,因为14.4px字体看起来并没有模糊。
在我来说,我没有看到0.5px跳,我看到水平一行像素的衰落越来越多,直到他们消失 – Vandervals
是什么浏览器,你使用。我在Firefox 45和47上测试了这个? – Druzion
其实你是对的Firefox,但它看起来不像铬... – Vandervals