Наследование CSS заключается в том, что часть стилей могут передаваться от родительского элемента к дочерним. Благодаря каскадности CSS одному и тому же элементу можно назначать несколько классов и CSS-правила данных классов будут комбинироваться, а при конфликте свойств будет применяться механизм приоритетов CSS.
Приоритетность в CSS:
- Правила
!important
- CSS-правила в тэге
style
самые приоритетные; - за ними идет селектор с
id
; - затем селектор с классом
.class
; - затем селектор с именем тэга
h1
.
Управление порядком применения CSS-свойства:
- важность (!important, style, id, class, тэг);
- специфичность (чем меньшее количество элементов потенциально может выбрать селектор, тем он специфичнее);
- порядок в исходном коде.
Свойства CSS по назначению можно разделить на:
- оформление текста
- работа с размерами и отступами
- позиционирование элементов
- работа с сеткой страницы
- декоративные: цвета, фон, тени
- другие
Наследование работает не для всех свойств. К наследуемым свойствам относятся в первую очередь свойства, определяющие параметры отображения текста, а также некоторые другие (list-style, cursor, visibility и т.д.). К ненаследуемым свойствам относятся параметры позиционирования, размеров, отступов, фона и т.д. (width, height, margin, padding, position и т.д).
Для каждого свойства может быть задано принудительное наследование — inherit
.
div { background-color: inherit; }