什么是跨浏览器、跨平台网络安全字体?
如何制作跨浏览器、跨平台和所有设备兼容的css字体堆栈?
How to make cross browser, cross platform and all devices compatible css font stack?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何制作跨浏览器、跨平台和所有设备兼容的css字体堆栈?
How to make cross browser, cross platform and all devices compatible css font stack?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
您无法保证移动设备上将使用的字体,就像保证普通计算机上可用的字体一样。
一个安全的选择是使用可以由移动浏览器解释的通用字体系列,以向您显示相关字体,例如
You cannot guarantee the fonts that will be used on a mobile device the same way you can guarantee which fonts are available on a normal computer.
A safe bet is to use a generic font family that can be interpreted by the mobile browser to show you the relevant font, e.g.
最好的解决方案是始终提供通用字体系列在任何特定字体之后:
font-family: "Foo Regular", "Bar Sans", sans-serif;
The best solution is to always supply a generic font family after any specific fonts:
font-family: "Foo Regular", "Bar Sans", sans-serif;
它在 W3C 建议中关于“font-family”属性的 15.3 中指出,您应该在字体堆栈中拥有后备字体,以便您的网站访问者有一些可行的选择。
我使用的“网络安全”字体堆栈涵盖了大多数(如果不是全部)设备,如下所示:
这涵盖了标题、段落、代码示例的等宽字体、特殊项目的幻想以及强调的草书。您可能只需要一个用于标题 (H1~H6),另一个用于正文:
查看以下 2010 年的备忘单,其中包括 Linux 和 iOS。它给出了 Windows、Mac、Linux 和 iOS 之间的平均使用百分比:网络安全字体
It points out in 15.3 of the W3C Recommendation regarding the 'font-family' property that you should have fallback fonts in a font stack so that your website visitor has some viable choices.
The 'web safe' font stacks I use, which cover most if not all devices are as follows:
This covers headers, paragraphs, monospace for code samples, fantasy for special items, and cursive for emphasis. You may just need one for headers (H1~H6) and another for body text:
Check the following cheatsheet from 2010 that includes Linux and iOS. It gives the average percentages for usage between Windows, Mac, Linux, and iOS: Web Safe Fonts
忘记跨浏览器跨平台字体堆栈,Web 示例通常只关心 Windows 和 OSX 的基本拉丁语,它们在国际语言和 Linux 以及新的形式因素上失败。
由于许可原因,Linux 从未使用与 Windows 和 OSX 相同的字体,并且字体设计工具已经足够成熟,您现在会发现很多多样性(并不是说创建大型编码字体很容易,而是很多用户只关心那些字体)涵盖他们的特定语言)。
字体创建已经变得足够便宜,大公司(包括移动制造商)现在喜欢通过为大型版本(新设备或主要操作系统版本)委托新字体来实现差异化。
当字体调查仍然流行时,DejaVu 字体系列在 Linux 上有很大的影响力,但情况可能不再如此了。 DejaVu 和 Arial 有不同的指标。
只需在堆栈中使用通用 CSS 字体系列,避免任何 helvetica 衍生品,不要使用依赖于特定字体规格的设计,就可以了。
Forget about cross browser cross platform font stacks, the web examples usually only care about windows and OSX for basic latin, they fail on international languages and Linux, and new form factors.
Linux never used the same fonts as Windows and OSX for licensing reasons, and font design tools have become mature enough you find a lot of diversity nowadays (not that creating a large encoding font is easy, but a lot of users only care about fonts that cover their particular language).
Font creation has become cheap enough big corporations (including mobile manufacturers) now like to differentiate by commissioning new fonts for big releases (new device or major OS version).
When font surveys were still popular the DejaVu font family had a lot of reach on Linux, that may not be the case anymore. DejaVu and Arial have different metrics.
Just use generic CSS font families in your stack, avoid any helvetica derivative, do not use a design that depends on particular font metrics and you'll be ok.