Наследование цвета

Как показывает объявление color, данное свойство относится к наследуемым. Это логично, поскольку если вы задаете p {color: gray;}, то, вероятно, ожидаете, что любой текст в этом абзаце тоже будет серым, даже если он выделен, набран жирным шрифтом и т. д. Конечно, если вы хотите, чтобы данные элементы имели другой цвет, сделать это довольно просто:

em {color: gray;}
p {color: black;}

Цвет наследуется, поэтому теоретически возможно задать для всего обычного текста документа какой-нибудь цвет, например красный, объявив body {color: red;}. Весь текст, не оформленный каким-либо иным способом (например, ссылки, которые имеют собственные цветовые стили), должен стать красным. Однако до сих пор встречаются броузеры, в которых цвета для таких элементов, как таблицы, предопределены, что не допускает наследование цветов body ячейками таблицы.

В подобных броузерах, поскольку значение color для элементов table определяется броузером, значение броузера приоритетней наследуемого значения. Это бессмысленно и вызывает досаду, но, к счастью, с этим нетрудно справиться (как правило) с помощью селекторов, в которых перечислены различные элементы таблицы. Например, так можно сделать все содержимое таблиц красным по всему телу документа:

body, table, td, th {color: red;}

Это, как правило, решает проблему. Заметьте, что во многих современных броузерах, которые давно установили и исправили ошибки наследования, приносившие неприятности в более ранних версиях, нет необходимости применять подобные селекторы.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Воздействие на рамки
Воздействие на элементы формы
Еще раз о повторении в определенном направлении
Замещение атрибутов
Значения, заданные в единицах измерения длины

Вернуться в раздел: CSS / 9. Цвета и фон