@ymfront

Как задать стили в зависимости от языка страницы?

Есть страница, на которой нужно менять стили в зависимости от языка страницы, заданного в теге HTML:

<html lang="ru">
<html lang="en">


Нашел решение, что язык можно указать в медиазапросе, но у меня почему-то не работает.

@media (lang: en) {
    body {
        background-color: lightblue;
    }
}


Какие есть варианты решения данной задачи?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 3
@ImMrDimm
Что если попробовать что-то такое

Объявляем переменные, которые принимают значения в зависимости от языка на уровне root
:root {
    --main-color: blue;
}


На уровне html переопределяем их как нам нравится в связке с языком

html[lang="en"]
{
    --main-color: red;
}
html[lang="ru"]
{
    --main-color: green;
}


А затем в нужных местах используем эту переменную

h1 {
color:  var(--main-color);
}


Проверил, без всяких scss/less работает
Ответ написан
Комментировать
alsolovyev
@alsolovyev
¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
https://developer.mozilla.org/en-US/docs/Web/CSS/:lang
https://developer.mozilla.org/en-US/docs/Web/HTML/...
*:lang(en-US) {
  outline: 2px solid deeppink;
}
*:lang(ru) {
  color: red;
}
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
html:lang(en) body {
  background-color: lightblue;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы