有两种CSS嵌入语言风格的网页,不同的文本语言类型


Have two CSS embedded languages style in web page for different text lang type

我正在做一个使用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中工作,对于那些不幸不得不关心的人。