0

我的网站上使用了三种基本语言。我放入lang="en"了html标签。在 CSS 文件中,我写了以下内容:

body {

 ...
 font-family: 'Open Sans';
 font-size: 10pt;
 ...
}

因此,如果网站上的文本是英文或俄文,它会使用名为Open Sans的网络字体。这工作正常。

现在我想在用亚美尼亚语写文本时使用网络字体Arian AMU,但它不能这样工作:font-family: 'Open Sans', 'Ariam AMU';

在 CSS 中,我写

:lang(hy) {
    font-family: 'Arian AMU';
    font-size: 10.5pt;
    line-height: 18px;
}

当整个文本都是亚美尼亚语时,我lang="hy"会添加标签。p

问题是,我怎样才能做到,如果语言是俄语或英语,它会在什么Open Sans 10pt时候写入亚美尼亚语,Ariam AMU 10.5pt并且行高为 18px。

4

1 回答 1

0

伪类比 元素选择器:lang更具特异性body。当两条规则发生冲突时,这可能会导致问题,例如您的情况。尝试以相同的特异性指定所有冲突的规则:

:lang(en), :lang(ru) {
    font-family: 'Open Sans', sans-serif;
    font-size: 10pt;
}

:lang(hy) {
    font-family: 'Ariam AMU';
    font-size: 10.5pt;
    line-height: 18px;
}

请参阅jsFiddle

您可以通过阅读以下文章了解有关 CSS 特异性的更多信息:

于 2013-08-14T04:44:07.467 回答