为 iOS 和 Android 创建正文字体规则

Posted

技术标签:

【中文标题】为 iOS 和 Android 创建正文字体规则【英文标题】:Creating a body font rule for iOS and Android 【发布时间】:2016-02-02 12:28:35 【问题描述】:

在 Phonegap 应用程序中,此规则是否会以本机系统字体显示正文?

body

font-family: -apple-system, "Roboto", Helvetica, Arial, sans-serif;

ios 上,上述规则将显示 -apple-system(旧金山)并退回到 Helvetica

android 上它不会知道 -apple-system 所以退回到 Roboto 系统字体或再次退回到 Helvetica

【问题讨论】:

【参考方案1】:

@MarkL Android上的字体控制不是那么好。不像苹果,它控制着移动设备的方方面面。 Google 允许制造商在合理范围内为所欲为。谷歌为所有设备提供了一套基本字体,但制造商经常获得新字体——因为它们相对便宜。您最好的解决方法是导入字体 - SVG 或 true-type 或类似字体。

注意:将这些字体存储在移动设备上以获得最佳性能。不要从互联网上获取字体,否则您的应用程序有问题。祝你好运

【讨论】:

是的,我认为会是这样。如果一切都失败了,客户会对 Helvetica 作为基本字体感到满意。我只是认为上面的代码会有足够的回退并且顺序正确吗?在我的 iPhone 上,该应用程序显示 San Fransisco 很好,因此它正确应用了字体规则,但我还没有在 Android 中测试过——我希望它会忽略 -apple-system 并改用 Roboto,如果它没有回退到 Helvetica / Arial 等。 @MarkL 字体的另一个未说出口的问题是实际显示。这有两个不同的因素会影响最终结果。 1)实际DPI(或像素密度)我认为explains this best的人是PPK。 2)第二个问题是驱动webview的软件——有时是webkit。 Paul Irish explains this best. 对我来说,我经常看不到字体之间的细微差别——除非我放大。祝你好运

以上是关于为 iOS 和 Android 创建正文字体规则的主要内容,如果未能解决你的问题,请参考以下文章

ios9.3为前端带来哪些新特性

ios9.3为前端带来哪些新特性

iOS和Android触摸图标规则

使用React Native在Android / iOS上使用不同的lineHeight

CSS复习笔记规则和布局

OpenType 字体无法在 iOS 上正确呈现