CSS 字体特性

字体特性是启用字体作者设计的先进文本样式和效果的一种方式。字体可能支持多种特性:例如,不同类型的连字、表格数字或小型大写字母。由于设计师在字体文件中明确为这些变体创建了形式,因此使用字体特性是实现这些效果的最高质量方式。

Comparison with and without features font-variant-numeric: diagonal-fractions, font-variant-caps: small-caps, and font-variant-numeric: oldstyle-nums

在 iOS 和 OS X 的网页内容中启用字体特性很简单:只需将以下一个或多个 CSS 属性应用于您的文本即可

  • font-variant-ligatures
  • font-variant-position
  • font-variant-numeric
  • font-variant-alternates部分支持
  • font-variant-east-asian

此外,font-variant 属性现在还额外接受与上述属性相同的值,这意味着所有现有的 font-variant: small-caps 用法如果可用,将自动使用更高质量的字体特性。如果字体不支持小型大写字母,WebKit 会为您合成一个版本,但不幸的是,其质量不如包含小型大写字母变体的字体文件。

虽然上述属性涵盖了最常见的情况,但字体特性远不止 CSS 关键词所能表示的那些。在这些情况下,可以使用 font-feature-settings 属性来启用任何 OpenType 特性。此属性接受一个逗号分隔的特性名称字符串列表以启用。例如:font-feature-settings: 'swsh', 'flac' 将同时启用花饰字形和扁平重音符号。这些字符串标识符是 OpenType 字体格式特有的,因此它们仅适用于 OpenType 字体。

所有这些属性也可以添加到 CSS 中的 @font-face 块中,这将使所有使用该网络字体的元素都使用相应的字体特性。可以通过在样式化元素本身上指定相同的属性来覆盖此默认行为。

这些字体特性支持在WebKit 每夜构建版以及iOS 9.3 BetaOS X 10.11.4 Beta 中可用。如果您有疑问、评论或其他反馈,请随时通过 mmaxfield@apple.com@litherum 联系我,或通过 web-evangelist@apple.com@jonathandavis@WebKit 联系 Jonathan Davis。