根据显示的系统字体通过css调整字体大小

时间:2014-02-15 20:17:51

标签: css font-size system-font

如果字体堆栈安装在客户端系统上或者通过@font提供 - 通过服。但有时光学类似字体在显示尺寸上有很大差异。例如,Lucida GrandeCalibri的替代品。但大小差异超过20%:TESTfont-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并放弃担心并获得啤酒 - 但我只是想知道是否有人有一个聪明的解决方法!

1 个答案:

答案 0 :(得分:0)

  

在某种程度上可以检测浏览器中实际显示的字体并在CSS中相应地调整字体大小吗?

答案是

我只能给出建议,不要将你的布局基于“知道任何(文本)元素/节点的宽度和/或高度”!

网站并不意味着像素完美的图纸 - 它不是印刷设计。

有许多(不可预见的)情况可能会影响使用的字体和/或字体大小,任何试图按照预期使用它们的尝试很可能都会失败。

您唯一可以尝试的是使用Javascript获取元素的宽度/高度,并根据尺寸调整字体大小。

这里有一些脚本。 一个是FitText