css - 字体替代品

标签 css cross-browser font-face

我的客户(痴迷于像素完美)不喜欢浏览器呈现 font-face 字体的方式。

目前我正在使用 font-squirrel 将 OTF 字体转换为网络字体。

问题是,我看不到任何替代方案。我可以创建一个包含所有这些文本的 PNG 文件,但这听起来不像是一种对浏览器用户友好的解决方案。

我必须处理的典型设计示例是:

hunger games screen grab

您的方法是什么?

I'm assuming that by "dislikes the way browsers render @font-face" your'e referring to the blink which happens. If not, you should elaborate.

difference

上面的是网络字体,下面的是PSD的屏幕截图。两者都使用相同的字体系列,相同的间距。客户希望它看起来更像底部。

最佳答案

我假设“不喜欢浏览器呈现@font-face 的方式”是指发生的闪烁。如果没有,您应该详细说明。

目前只有 3 个选项可以消除闪烁。前两个是显而易见的解决方案——使用图像,或使用网络安全字体。显然,这些与目的背道而驰。

第三个选项是在 CSS 中嵌入字体的 base64 代码。这会增加您的 CSS 文件的大小 (kb),但它会完全消除闪烁,因为字体是随 CSS 一起加载的,因此在加载辅助文件时不会闪烁。

包含 bas64 字体的用法如下所示:

 @font-face {
 font-family: "FontName";
 src: url("data:font/opentype;base64,[   the base64 code here   ]");
 }

有一些在线 bas64 转换器,您可以将 .otf 文件输入其中,它们会生成 base64 代码。 Here's one such converter.

关于css - 字体替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627398/

相关文章:

javascript - 使用外部样式表将 HTML 导出到 DocX

javascript - div高度帮助,子元素位置绝对

html - 为什么浏览器会忽略打印机媒体查询的 css 特异性规则?

css - 是否可以根据访问网站的浏览器自动加载单独的 css 样式表?

css - 浏览器如何决定使用什么 : http or https (tinymce load of @font-face error)

Android WebView 字体最初未呈现

css - 我如何使用 css Sprite

html - ie9-js - 是否有其他东西使它过时了?

javascript - 使用 JavaScript 代码在 Safari 上不显示背景图像

css - 为什么@font-face 不起作用?