Существует 4 способа подключения CSS в HTML. Два из них — это прямое добавление CSS-кода в HTML-файл, а другие два — подключение внешних CSS-файлов. Давайте рассмотрим эти методы, их преимущества и недостатки.

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

Встроенный стиль означает добавление CSS непосредственно в атрибутstyleHTML-тега.

Пример:

<div style="background: red"></div>

Обычно это очень плохой способ написания. Он может изменить стиль только текущего тега. Если вы хотите, чтобы несколько<div>тегов имели одинаковый стиль, вам придётся повторно добавлять один и тот же стиль к каждому<div>тег. Если вы хотите изменить стиль, вам придётся снова изменить весь код в `style`. Очевидно, что встроенное подключение CSS делает HTML-код многословным, а веб-страницу — сложной в поддержке.

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

Встроенный стиль означает написание CSS-кода в теге<style>`<style>` в разделе head HTML.

Пример:

<head>
    <style>

    .content {
        background: red;
    }

    </style>
</head>

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

Связанный стиль

Связанный стиль означает использование тега<head>`<link>` в разделе head HTML для импорта внешнего CSS-файла.

Пример:

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

Это самый распространённый и наиболее рекомендуемый способ подключения CSS. При использовании этого метода весь CSS-код существует только в отдельном CSS-файле, поэтому он обладает хорошей поддерживаемостью. Более того, весь CSS-код находится только в CSS-файле, и CSS-файл подключается при первой загрузке. В дальнейшем при переключении страниц нужно загружать только HTML-файл.

Импортированный стиль

Импортированный стиль означает использование CSS-правила для импорта внешнего CSS-файла.

Пример:

<style>
    @import url(style.css);
</style>

Сравнение связанного стиля и импортированного стиля

Связанный стиль (далее именуемый@import`@import`) — оба способа подключения внешних CSS-файлов. Давайте сравним эти два метода и объясним, почему использование `@import` не рекомендуется.@import。

  • `link` относится к HTML, через<link>атрибут `href` в теге для импорта внешних файлов, тогда как@import`@import` относится к CSS, поэтому инструкция импорта должна быть записана в CSS. Обратите внимание, что инструкция импорта должна быть записана в начале таблицы стилей, иначе внешний файл не сможет быть импортирован правильно.

  • @import`@import` — это концепция, которая появилась только в CSS2.1. Поэтому, если версия браузера низкая, внешние файлы стилей не смогут быть импортированы правильно.

  • Когда HTML-файл загружается, файлы, на которые ссылается `link`, загружаются одновременно, тогда как@importфайлы, на которые ссылается `@import`, загружаются после полной загрузки страницы.


Резюме: Следует стараться использовать<link>тег `link` для импорта внешних CSS-файлов и избегать или реже использовать остальные три метода.

Источник: https://segmentfault.com/a/1190000003866058