如果字体堆栈安装在客户端系统上或者通过@font
提供 - 通过服。但有时光学类似字体在显示尺寸上有很大差异。例如,Lucida Grande
是Calibri
的替代品。但大小差异超过20%:TEST
和font-size: 50px;
一词Calibri
宽度为95px,Lucida Grande
需要118px。
所以,问题是:在某种程度上可以检测浏览器中实际显示的字体并相应地调整CSS中的font-size
吗?我想避免使用JavaScript,因为它只是一个布局问题。
好的会是这样的:
font: 400 50px/1 'Calibri', 400 40px/1 'Lucida Grande';
或
font-family: 'Calibri', 'Lucida Grande';
font-size: 50px, 40px;
但太糟糕了 - 这不起作用!
<小时/> 编辑:这是一个“学术”问题。我知道,我可以使用JavaScript,我知道,我可以购买web font并放弃担心并获得啤酒 - 但我只是想知道是否有人有一个聪明的解决方法!
答案 0 :(得分:0)
在某种程度上可以检测浏览器中实际显示的字体并在CSS中相应地调整字体大小吗?
答案是否。
我只能给出建议,不要将你的布局基于“知道任何(文本)元素/节点的宽度和/或高度”!
网站并不意味着像素完美的图纸 - 它不是印刷设计。
有许多(不可预见的)情况可能会影响使用的字体和/或字体大小,任何试图按照预期使用它们的尝试很可能都会失败。
您唯一可以尝试的是使用Javascript获取元素的宽度/高度,并根据尺寸调整字体大小。
这里有一些脚本。 一个是FitText