Перейти к основному содержимому

Несколько таблиц стилей

Если один и тот же селектор задан более чем в одной таблице стилей, побеждает значение из той таблицы стилей, которую браузер прочитал последней.

Предположим, внешняя таблица стилей задаёт для <h1> цвет navy, а внутренняя таблица стилей задаёт для того же <h1> цвет orange. Результат зависит от того, какая из них прочитана последней.

Внутренний стиль после внешнего

Внутренний стиль размещён после ссылки на внешнюю таблицу стилей, поэтому элементы <h1> оранжевые.

Prompt
HTML-страница, которая подключает внешнюю таблицу стилей (mystyle.css), а затем определяет внутренний блок <style> после неё. В head сначала разместите <link> на mystyle.css, затем блок <style>, задающий h1 цвет orange. Поскольку внутренний стиль идёт последним, заголовок должен быть оранжевым. Включите <h1> в body.
Output: полная HTML-страница

Внутренний стиль до внешнего

Внутренний стиль размещён до ссылки на внешнюю таблицу стилей, поэтому элементы <h1> тёмно-синие (navy).

Prompt
HTML-страница, которая сначала определяет внутренний блок <style>, а затем подключает внешнюю таблицу стилей (mystyle.css) после него. В head сначала разместите блок <style>, задающий h1 цвет orange, затем <link> на mystyle.css (который задаёт h1 цвет navy). Поскольку внешний стиль читается последним, заголовок должен быть цвета navy. Включите <h1> в body.
Output: полная HTML-страница

Внешний стиль

Стиль для <h1> во внешней таблице стилей.

styles.css
h1 {
color: navy;
}

Внутренний стиль

Стиль для <h1> во внутренней таблице стилей.

styles.css
h1 {
color: orange;
}

Порядок каскадирования

Когда для одного и того же элемента задано несколько стилей, какой из них используется?

Все стили страницы объединяются (каскадируются) в одну виртуальную таблицу стилей. Порядок приоритета, от высшего к низшему:

  1. Встроенный стиль (внутри HTML-элемента).
  2. Внешние и внутренние таблицы стилей (в разделе head).
  3. Стиль браузера по умолчанию.

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

Встроенный стиль побеждает

Внутренний стиль задаёт заголовку цвет navy, но встроенный стиль задаёт ему цвет orange. Побеждает встроенный стиль.

Prompt
HTML-страница, показывающая, что встроенные стили побеждают внутреннюю таблицу стилей. Добавьте внутренний блок <style>, который делает h1 цвета navy. Затем задайте одному <h1> встроенный стиль, устанавливающий цвет orange. Встроенный стиль имеет наивысший приоритет, поэтому заголовок должен отображаться оранжевым.
Output: полная HTML-страница