【发布时间】:2011-01-02 03:10:07
【问题描述】:
如果我将@font-face 字体和font-variant: small-caps 用于同一个选择器,则字体将回退到 safari 中的下一个系统默认字体。我该如何解决?
【问题讨论】:
标签: css fonts safari typography
如果我将@font-face 字体和font-variant: small-caps 用于同一个选择器,则字体将回退到 safari 中的下一个系统默认字体。我该如何解决?
【问题讨论】:
标签: css fonts safari typography
这是一个 WebKit 错误。它已修复,下次更新时 Safari 应该 没问题。当前版本的 Chrome 使用的是更新版本的 WebKit,该错误已被修复。这是检测它的好方法(来自SafariSmallCapsWebFontFix):
if ((navigator.userAgent.match(/WebKit\/([^.]+)/) || [] )[1] < 534) {
// Broken, work around it!
}
例如,您可以使用该 JavaScript 向 html 节点添加一个类并更改页面样式。
【讨论】:
我认为这只是一个错误 :( 我现在使用 :first-letter 伪选择器来实现这一点
【讨论】:
起初我在创建一个示例来复制您的问题时遇到了一些麻烦,这让我意识到 font-face 不是标准的 CSS2 属性;等价于字体系列。所以我对@font-face 做了一些快速研究,发现它——取决于你如何看待它——要么是 Firefox 3.5 特有的非标准属性,要么是尚未成为主流的 CSS3 的一部分。 Safari 对 CSS3 有部分支持,具体取决于版本,但我怀疑这是您不希望出现的行为的原因。
【讨论】: