HTML\CSS → Наследование и приоритеты в CSS

Наследование CSS заключается в том, что часть стилей могут передаваться от родительского элемента к дочерним. Благодаря каскадности CSS одному и тому же элементу можно назначать несколько классов и CSS-правила данных классов будут комбинироваться, а при конфликте свойств будет применяться механизм приоритетов CSS.

Приоритетность в CSS:

  1. Правила !important
  2. CSS-правила в тэге style самые приоритетные;
  3. за ними идет селектор с id;
  4. затем селектор с классом .class;
  5. затем селектор с именем тэга h1.

Управление порядком применения CSS-свойства:

  1. важность (!important, style, id, class, тэг);
  2. специфичность (чем меньшее количество элементов потенциально может выбрать селектор, тем он специфичнее);
  3. порядок в исходном коде.

Свойства CSS по назначению можно разделить на:

  • оформление текста
  • работа с размерами и отступами
  • позиционирование элементов
  • работа с сеткой страницы
  • декоративные: цвета, фон, тени
  • другие

Наследование работает не для всех свойств. К наследуемым свойствам относятся в первую очередь свойства, определяющие параметры отображения текста, а также некоторые другие (list-style, cursor, visibility и т.д.). К ненаследуемым свойствам относятся параметры позиционирования, размеров, отступов, фона и т.д. (width, height, margin, padding, position и т.д).

Для каждого свойства может быть задано принудительное наследование —  inherit.

div { background-color: inherit; }