W3docs

Применение CSS

Три способа добавить стили в HTML-документ: встроенные, внутренние и внешние. Узнайте, когда и как применять каждый из них.

CSS управляет внешним видом HTML-документа, однако браузеру нужно знать, где искать правила стилей. Существуют три способа подключить CSS к HTML-странице, и каждый из них подходит для разных ситуаций:

  • Встроенный стиль (inline) — правила прописываются непосредственно на отдельном элементе с помощью атрибута style.
  • Внутренний (embedded) стиль — правила собираются внутри элемента <style> в разделе <head> страницы.
  • Внешний стиль — правила хранятся в отдельном файле .css и подключаются к странице.

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

Встроенный стиль

Встроенный стиль записывается непосредственно на элементе с помощью его атрибута style. Правила применяются только к этому конкретному элементу. Атрибут содержит одно или несколько объявлений (свойство: значение), разделённых точкой с запятой — селектор и фигурные скобки не нужны, так как элемент, к которому применяется правило, — это тот самый элемент, на котором оно написано.

Когда использовать: для быстрых единичных правок или стилей, генерируемых динамически (например с помощью JavaScript). Избегайте встроенных стилей для общего оформления — поскольку правило привязано к элементу, его нельзя переиспользовать, и поддерживать его на большой странице сложно.

Пример создания встроенного стиля для HTML-документа:

Пример встроенного стиля CSS

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2 style="color:#1c87c9">Some heading</h2>
    <p style="color:#8ebf42; font-size:15px">Some paragraph</p>
  </body>
</html>

Результат

Пример встроенного стиля

Разберём пример. На теге <h2> мы написали style="color:#1c87c9", поэтому текст этого заголовка отображается синим цветом #1c87c9.

То же самое мы сделали на теге <p> с style="color:#8ebf42; font-size:15px". Два объявления разделены точкой с запятой: текст между открывающим тегом <p> и закрывающим </p> окрашен в #8ebf42 (зелёный) и имеет размер 15px.

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

При использовании внутреннего (или embedded) стиля CSS страницы размещается внутри элемента <style> в разделе <head> страницы. В отличие от встроенных стилей, здесь пишутся полные правила — селектор, за которым следует блок объявлений в фигурных скобках, — поэтому одно правило может одновременно охватывать множество элементов.

Когда использовать: для отдельной страницы, которой необходимо собственное оформление, не общее со всем сайтом, или для быстрого прототипирования. Недостаток в том, что правила действуют только на этой одной странице. Чтобы оформить несколько страниц одинаково, пришлось бы копировать блок <style> в каждую из них — именно эту проблему решают внешние таблицы стилей.

В примере ниже правило body красит фон страницы в #1c87c9 (синий), а правило p делает текст абзаца белым.

Пример создания внутреннего стиля для HTML-документа:

Пример внутреннего стиля CSS

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      body {
        background-color: #1c87c9;
      }
      p {
        color: white;
      }
    </style>
  </head>
  <body>
    <p>Some information</p>
  </body>
</html>

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

Внешняя таблица стилей хранит весь CSS в отдельном файле, независимо от HTML. Это стандартный подход для реальных сайтов, так как каждая страница может подключаться к одному файлу и использовать единое оформление. Файл можно создать в любом текстовом или HTML-редакторе, например в Notepad или Sublime Text.

Файл содержит только CSS — без HTML-тегов — и сохраняется с расширением .css. Чтобы подключить его к странице, добавьте тег <link> внутри раздела <head>. Каждая страница, которая должна использовать эти стили, нуждается в собственном теге <link>.

Когда использовать: практически всегда для многостраничного сайта. Поскольку правила находятся в одном месте, изменение цвета или шрифта в единственном файле .css мгновенно обновляет все страницы, а браузер может кешировать этот файл, загружая его лишь один раз.

Пример создания внешнего стиля для HTML-документа:

Пример внешнего стиля CSS

<head>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>

Соответствующий файл style.css может выглядеть так:

body {
  background-color: #1c87c9;
}
p {
  color: white;
}

Какой метод выбрать?

Если говорить об общем правиле:

  • Используйте внешнюю таблицу стилей практически для всех реальных проектов — она переиспользуема, кешируется и легко поддерживается.
  • Используйте внутренние стили для отдельной страницы или быстрого демо.
  • Используйте встроенные стили только для единичной правки, которую невозможно выразить иначе (чаще всего — для динамически вычисляемых значений).

Как методы взаимодействуют

Когда один и тот же элемент одновременно охвачен несколькими методами, браузер должен решить, какое объявление имеет приоритет. При прочих равных условиях порядок силы следующий:

  1. Встроенные стили (наивысший приоритет).
  2. Внутренние и внешние правила, определяемые специфичностью селектора, а при равной специфичности — тем, какое правило стоит последним.

Таким образом, встроенный атрибут style="color:red" перекрывает правило p { color: blue; } из таблицы стилей. Эта система приоритетов называется каскадом — «C» в аббревиатуре CSS.

Практика

Практика
Какие способы подключения CSS в HTML существуют?
Какие способы подключения CSS в HTML существуют?
Was this page helpful?