如果字符属于不同的书写系统,例如拉丁语和希伯来语,或者西里尔语和希腊语,浏览器通常会自动为它们使用不同的字体。但是,这只发生在页面未指定字体的情况下,即这仅与默认字体有关,并且使用的字体由浏览器默认值和用户控制的浏览器设置确定。
尽管 JayC 的回答中描述的技术提供了部分解决方案,但通过在标记中区分不同语言的文本,您可以获得更好的浏览器覆盖率。在双语文档中,对其中一个文本使用标记就足够了(出于实际原因,使用较少的文本)。class
在 gutch 的答案中使用as 可以提供最好的覆盖率,但现在对 CSS 中语言选择器的支持非常普遍,您可能会考虑使用更合乎逻辑的lang
属性,例如
<h1>Hello − <a lang=ru>Привет</а></h1>
然后你会使用像这样的规则
[lang=ru] { font-family: ...; }
(我的示例<a>
有效地将元素用作 的较短变体<span>
。形式上,这仅在文本不在外部<a>
元素内时才有可能。)
然而,对于视觉风格,将需要与按语言选择字体相反。如果“Hello”中的“e”与同一行的“Привет”中的西里尔字母“е”不同,这看起来真的很奇怪。如果可能,对文档中的所有语言使用相同的字体几乎总是更好。这意味着选择一种适用于所有人的字体。