当字体系列后退时,CSS字体大小会发生变化

当字体系列后退时,CSS字体大小会发生变化,css,Css,我想使用一种字体(gill sans),由于x-height较短等原因,该字体呈现得非常小。如果我将其设置为合理的大小,然后浏览器会返回到我在字体系列中指定的更典型的字体,回退字体呈现非常大-我可以根据浏览器使用的字体设置字体大小吗?我建议您尝试指定在字体不可用时优雅降级的级联字体,例如 Arial, FontThatsLikeArial, FontThatsALittleLikeArial, FontThatsALittleLessLikeArial, Sans-serif; 或者,如果你想

我想使用一种字体(gill sans),由于x-height较短等原因,该字体呈现得非常小。如果我将其设置为合理的大小,然后浏览器会返回到我在字体系列中指定的更典型的字体,回退字体呈现非常大-我可以根据浏览器使用的字体设置字体大小吗?

我建议您尝试指定在字体不可用时优雅降级的级联字体,例如

Arial, FontThatsLikeArial, FontThatsALittleLikeArial, FontThatsALittleLessLikeArial, Sans-serif;

或者,如果你想严格控制你的字体,可以看看cufon,它不需要你的用户有任何插件,可以在大多数现代浏览器上使用

您可以在正文选择器中指定字体大小,从而抵消浏览器的默认大小,即

body { font-size: 62.5%; }
62.5%是一个很好的基准,因为它允许您轻松地使用ems来相对设置正文中元素的字体大小

在62.5%时,1em=10px,1.2em=12px,依此类推

只需在正文中设置字体大小作为基线,并相应地设置样式元素

我可以根据浏览器使用的字体设置字体大小吗


不幸的是,没有,不是CSS。

我建议您使用访问您正在构建的网站的大多数(/all)计算机上都可以找到的典型字体。网站的视图不应因浏览器而异(IE相关问题是另一个主题…)。
使用通用字体或类似的替代品…

几周前有一篇有趣的文章谈到了这个话题

你可以在这里阅读这篇文章:

总之,本文运用了几种方法@用于现代化浏览器的字体,jQuery字体检测脚本,以及用于在以前的方法失败时替换字体的Cufon

这不是一个完美的解决方案。就像我上面所说的,你最好的选择是使用一种优雅的字体

尝试将字体堆栈设置为 “GillSans、Calibri、投石机、无衬线”-用于段落副本,或
“GillSans,Trebuchet,Calibri,sans serif”-对于标题和标题

我使用Calibri也有同样的问题(与大多数sans字体相比稍微小一些)。我最后做了以下工作(假设您有jquery):

  • 获取Remy Sharp的字体检测脚本

  • 将以下内容添加到
    $(document).ready()
    函数中:

    $(document).ready(function() {
        font.setup();
        if(!font.isInstalled('Calibri'))
            $('body').css('font-size','87.5%');
    });
    
  • 所以现在如果用户没有Calibri,我们会看到Arial为87.5%。这仅适用于未定义/继承字体大小的元素。明确定义字体大小的地方也必须进行调整(可能向这些元素添加一个类,并将jquery选择器更改为
    $('.adjustClass'))

    如果您能做到以下几点,那就太好了:
    font:11px Calibri,10px Arial-但没有这样的运气:)

    字体大小%和px之间的关系取决于用户默认的字体大小和dpi。请不要这样做。我们中的一些人实际上更改了浏览器设置,以获得我们喜欢的基本字体大小。有了这个规则,你的整个网站将变得非常小。