folgakauchuk
@folgakauchuk
верстальщик

Как унаследовать стили от родительского элемента?

Задача.
В конструкторе сайтов можно редактировать цвет текста для элементов `data-component="text"`.

Упрощённый пример разметки:
<div data-component="text">
  <p class="text-noble-grey">
    Lorem ipsum.
  </p>
</div>


В редакторе стилей цвет устанавливается инлайном, да ещё и с `!important`:

<div data-component="text" style="color: rgb(153, 0, 255) !important;">
  <p class="text-noble-grey">
    Lorem ipsum.
  </p>
</div>


Чтобы было понятно, вот как выглядит интерфейс конструктора:
5ac60982196a7981024760.png

Также, помимо стилей, которые можно применять через wysiwyg редактор стилей, к элементам применяются стили из CSS-файлов, вот один из них:

.text-noble-grey {
    color: #999;
}


Проблема заключается в том, что в данном случае CSS не наследует цвет шрифта от родителя. "Сильнее" оказывается стиль из каскада...

Вопрос.
Как можно решить данную проблему, не меняя логики работы конструктора (чтобы цвет текста по-прежнему редактировался у родителя, чтобы к элементам по-прежнему применялись стили из CSS-файлов)?

В голову приходит только одно решение — при редактировании цвета JS'ом проходиться в том числе и по дочерним элементам тоже. Устанавливая им, например, стиль
color: inherit;
Но точно ли это нужно?
  • Вопрос задан
  • 852 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы