1

字体堆栈提供了建议浏览器应该显示的有序字体列表的可能性,如果它安装在客户端系统上,或者如果它是通过@font服务器上的 -inclusion 提供的 - 到目前为止一切都很好。但有时光学相似的字体在显示大小上有很大的差异。例如Lucida Grande,作为Calibri. 但大小差异超过 20%:TEST带有font-size: 50px;和的单词Calibri是 95px 宽,而带有Lucida Grande.

所以,问题来了:是否有可能检测到浏览器中实际显示的字体并在 CSSfont-size中相应地调整?我想避免使用 JavaScript,因为它只是一个布局问题。

尼斯会是这样的:

font: 400 50px/1 'Calibri', 400 40px/1 'Lucida Grande';

或者

font-family: 'Calibri', 'Lucida Grande';
font-size: 50px, 40px;

但太糟糕了——这不起作用!


编辑:这是一个“学术”问题。我知道,我可以使用 JavaScript,而且我知道,我可以购买网络字体,不用担心,喝杯啤酒——但我只是想知道是否有人对此有聪明的解决方法!

4

1 回答 1

0

是否有可能检测浏览器中实际显示的字体并在 CSS 中相应地调整字体大小?

答案是否定的。

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

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

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

您可以尝试的唯一方法是使用 Javascript 获取元素的宽度/高度并调整字体大小,只要大小符合您的需要。

为此有一些脚本。一个是FitText

于 2014-02-15T20:30:11.567 回答