有没有一种方法可以对 HTML 页面上的文本进行样式化,以便它针对不同的语言自动使用不同的字体?我的网站使用英语和阿拉伯语。我想根据显示的语言使用不同的字体。
假设我有这样的一段:
”上一句是阿拉伯语,但这一句是英语。
我希望阿拉伯语句子用 X 字体呈现,但英语句子用 Y 字体呈现。
有没有一种方法可以做到这一点,而无需根据服务器端有关其语言的知识手动为每组文本指定不同的 CSS 样式,即将每个句子包装在不同的 CSS 类中?
谢谢
Jukka 是对的,你无法自动区分语言。您可能需要在适当的情况下设置 lang 属性。您有以下选择:
- 使用 CSS2 :lang 伪选择器;
- 使用 CSS3 :ltr 或 :rtl 伪选择器根据文本方向性设置字体(实际上不一定是最好的主意);
- 使用 CSS3 :script 伪选择器。据我所知,实际上您可能正在寻找这个。
第一个解决方案的代码片段如下:
body {
font-family:Palatino,serif;
}
:lang(ar) {
font-family: "Traditional Arabic",serif;
}
对于第二种选择,我已经说过这不是一个好主意。事实并非如此,因为许多语言都是从左到右或从右到左书写的。您肯定不想对希伯来语文本使用“传统阿拉伯语”字体。我提到这个选项,是因为它可以帮助你解决其他问题。
对于最后一个:
:script(Arab) {
font-family: "Traditional Arabic",serif;
}
外部链接
- 关于 lang 选择器的 W3C i18n 文章
-
冈纳·比特斯曼演讲 from 利默里克多语言网络研讨会- 这就是这些代码片段的来源(我可以轻松地自己创建它们,但决定咨询专家)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)