【问题标题】:Can I set font-size accordingly to font availability?我可以根据字体可用性设置字体大小吗?
【发布时间】:2012-01-22 09:13:35
【问题描述】:

是否可以根据字体可用性设置不同的字体大小?

目前我的问题是Verdana太大了,如果用户没有安装Verdana,我会得到一个非常小的字体大小

有什么方法可以将字体(在我的情况下为Verdana)设置为 13px,如果用户没有安装该字体,请尝试使用另一种字体(例如Arial)但使用更大的字体-尺寸?

注意事项:

  • 最好只使用 CSS
  • 允许 CSS hack

【问题讨论】:

  • 问题是,是否有计算机有 Arial,但没有 Verdana。根据this 的说法,这种情况不太可能发生。
  • 我支持@ŠimeVidas - 我不会太担心没有 Verdana 的人 - 这些情况将非常罕见。
  • @ŠimeVidas,我知道这种情况不太可能发生,但是如果其他人想要使用其他可能不会默认安装的字体怎么办?
  • @ajax333221 考虑改写问题,使其更笼统。例如,标题可以是“如何检测字体可用性并相应地设置字体大小?”...
  • 没有 CSS 唯一的解决方案。

标签: css font-size


【解决方案1】:

正如其他人在一分钟前回答的那样(但已被删除?),您可以使用Font Detector Javascript 解决方案:

http://jsfiddle.net/FHnJw/1

【讨论】:

  • 真的很酷,如果没有人找到 CSS 方法来实现这一点,我会使用它(我知道这不太可能,我已经失去了希望有人能找到 CSS 方法来做到这一点)
  • 确实不太可能 - 它需要 CSS 能够以某种方式检测使用/安装的字体 - 据我所知 CSS 仅用于样式......
  • 您能给我点个赞吗?我猜费尔南多无法抗拒投反对票:-)
  • 没有问题,你是对的。我只是觉得-1也有点不公平:-)
  • 我打算发布一个不同的 JS 解决方案,它基本上做同样的事情。这就是你要找的,OP。我还没有找到针对此问题的纯 CSS 解决方案。但是,您可以使用 JS 测试在 HTML 或 BODY 标签上创建类,然后您可以通过引用这些类在 CSS 中做出所有样式决定。
【解决方案2】:

这可能需要一些工作来实现(我自己从未真正做过),但似乎font-size-adjust 属性通过标准化 x 高度来帮助“均衡”字体。官方说明见http://www.w3.org/TR/css3-fonts/#propdef-font-size-adjust

【讨论】:

    【解决方案3】:

    字体大小调整仅适用于 Firefox

    独立的 'font' css 声明只允许您在连续声明不同的字体系列之前声明一次字体大小、样式和粗细,所以这也是不行的

    很抱歉,这不能仅通过 css 完成

    至于 JS 替代方案,这是我推荐的一种:

    http://www.lalit.org/lab/javascript-css-font-detect/

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2012-12-04
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2012-03-07
      相关资源
      最近更新 更多