Три способа подключить CSS: inline, < style >, внешний файл — и какой выбрать (CSS)

Есть три способа «подружить» CSS с HTML. Разберём каждый на коротком примере и сразу скажем, где он уместен.


1. Inline‑стили: прямо в теге

Пишешь стили прямо в HTML‑элементе через атрибут style.

html
<h1 style="color: #2b5e8b; font-family: Arial, sans-serif;">Заголовок</h1>
<p style="line-height: 1.6; color: #333;">Текст.</p>
<button style="background-color: #4facf9; color: white; border: none; padding: 10px 20px; border-radius: 6px;">Кнопка</button>

Как это работает: браузер берёт эти стили и применяет только к этому элементу. Приоритет у них высокий: они легко перебивают обычные CSS‑правила.

Когда брать:

  • быстро проверить вариант («а если сделать красным?»);
  • точечно поправить один элемент, когда нет доступа к CSS‑файлам;
  • вёрстка писем — там почти всегда используют inline‑стили.

Чего избегать: не строй на этом всю стилизацию. Если стилей много, HTML превращается в кашу, а править потом тяжело.


2. Блок <style>: внутри HTML

CSS пишешь внутри тега <style> в <head>.

html
<!DOCTYPE html>
<html>
  <head>
    <title>Пример со style</title>
    <style>
      body {
        font-family: Arial, sans-serif;
        background-color: #f5f5f5;
        color: #333;
        padding: 20px;
      }
 
      h1 {
        color: #2b5e8b;
        border-bottom: 2px solid #4facf9;
        padding-bottom: 10px;
      }
 
      p {
        line-height: 1.6;
        max-width: 600px;
      }
 
      button {
        background-color: #4facf9;
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        cursor: pointer;
      }
 
      button:hover {
        background-color: #3a8bd7;
      }
    </style>
  </head>
  <body>
    <h1>Заголовок</h1>
    <p>Текст с нормальными отступами и межстрочным интервалом.</p>
    <button>Кнопка</button>
  </body>
</html>

Как это работает: стили действуют на всю страницу, можно использовать псевдоклассы (:hover, :focus) и медиа‑запросы.

Когда брать:

  • прототип или демо, чтобы всё было в одном файле;
  • сниппет для показа кому‑то «как примерно будет»;
  • страница, которая точно останется единственной и меняться не будет.

Чего избегать: если страниц много, дублировать такой блок на каждой — это лишняя работа и риск рассинхронизировать стили.


3. Внешний CSS‑файл: отдельный файл и <link>

Весь CSS выносишь в отдельный файл, например style.css, и подключаешь его через <link>.

style.css:

css
body {
  font-family: Arial, sans-serif;
  background-color: #f5f5f5;
  color: #333;
  padding: 20px;
}
 
h1 {
  color: #2b5e8b;
  border-bottom: 2px solid #4facf9;
  padding-bottom: 10px;
}
 
p {
  line-height: 1.6;
  max-width: 600px;
}
 
button {
  background-color: #4facf9;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
}
 
button:hover {
  background-color: #3a8bd7;
}

HTML:

html
<!DOCTYPE html>
<html>
  <head>
    <title>Страница с внешним CSS</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>Заголовок</h1>
    <p>Текст.</p>
    <button>Кнопка</button>
  </body>
</html>

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

Когда брать: почти всегда. Это стандартный способ для реальных сайтов.

Чего учитывать: путь в href должен быть правильным относительно расположения HTML‑файла. Если файл лежит в папке css, будет href="css/style.css".


Какой способ выбрать: короткая шпаргалка

  • Нужен быстрый тест или точечная правка → inline‑стили (style="...").
  • Нужна одна страница/прототип, всё в одном файле → блок <style>.
  • Это нормальный сайт, страниц больше одной → внешний CSS‑файл + <link>.

Добавить комментарий