我正在做一个使用HTML, CSS, PHP和JS的多语言网站,因此文本可能是英语或法语根据用户输入,因为我从数据库中提取数据。
CSS中是否有一种方法可以自动检查文本是否为英文,那么它将应用嵌入的英文字体,如果它是在法语中,它将应用嵌入的法语字体。
如果我以前知道的语言,我将应用一些CSS类文本HTML元素,例如<p class="en"></p>
或<p class="fr"></p>
。但是我不知道语言作为文本来自DB
浏览器不会根据文本检测语言,但是如果您使用正确的标记指定它:
<html lang="fr">
那么你可以使用语言pseudo -class:
html:lang(fr) {
/* your rules */
}
对于CSS没有原生的方法可以做到这一点,但是您的服务器大概知道它是用英语还是法语响应。因此,您可以做类似Modernizr所做的事情,并向<html>
标签添加一个类:
<html class='french'>
然后你可以在此基础上设置CSS规则:
.french body { font-family: YourFrenchFont, sans-serif; }
编辑本;Quentin的答案是类似的,但更好,因为它使用了为此目的而设计的标准符号。但是,这将在旧版本的IE中工作,对于那些不幸不得不关心的人。