Справочник по языку, семейство шрифтов

На моем сайте используются три основных языка. Я поместил 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 и line-height 18px.


person gasparean    schedule 31.07.2013    source источник


Ответы (1)


псевдокласс :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, прочитав эти статьи:

person rink.attendant.6    schedule 14.08.2013