Глава 1 · Урок 6 из 6

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

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

12 мин

Цель урока

Собрать страницу с отдельным файлом стилей от начала до конца и закрепить всё, что было в главе.

Файлы

Создайте папку с двумя файлами. Для работы хватит любого текстового редактора, но удобнее редактор кода, например VS Code.

TEXT
my-page/
├─ index.html
└─ style.css

Разметка

В index.html — обычная страница с заголовком, абзацами и списком. Стили подключены элементом link:

index.html
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Рецепт блинов</title>
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <main class="recipe">
      <h1>Блины на молоке</h1>
      <p class="recipe__lead">Тонкие, с кружевными краями. Хватит на 15 штук.</p>
      <h2>Что понадобится</h2>
      <ul>
        <li>Молоко — 500 мл</li>
        <li>Яйца — 2 шт.</li>
        <li>Мука — 200 г</li>
      </ul>
      <p>Смешайте всё до однородности и дайте тесту постоять 15 минут.</p>
    </main>
  </body>
</html>

Откройте файл в браузере двойным кликом. Страница уже работает, но выглядит как документ 1995 года.

Стили

Теперь заполните style.css. Начните с общих настроек текста для всей страницы, затем ограничьте ширину колонки и оформите детали.

Страница с рецептом
HTML
<main class="recipe">
  <h1>Блины на молоке</h1>
  <p class="recipe__lead">Тонкие, с кружевными краями. Хватит на 15 штук.</p>
  <h2>Что понадобится</h2>
  <ul>
    <li>Молоко — 500 мл</li>
    <li>Яйца — 2 шт.</li>
    <li>Мука — 200 г</li>
  </ul>
  <p>Смешайте всё до однородности и дайте тесту постоять 15 минут.</p>
</main>
CSS
body {
  margin: 0;
  font-family: system-ui, sans-serif;
  line-height: 1.6;
  color: #2b2b2b;
  background: #fffaf2;
}

.recipe {
  max-width: 36rem;
  margin: 0 auto;
  padding: 1.5rem;
}

h1 {
  margin-top: 0;
  color: #b3541e;
}

.recipe__lead {
  font-size: 1.2rem;
  color: #6b6b6b;
}

Результат

Что здесь происходит:

  • у body задан шрифт, межстрочный интервал и цвета — они наследуются всеми элементами внутри;
  • max-width: 36rem не даёт строкам растянуться на весь широкий экран — длинные строки трудно читать;
  • margin: 0 auto ставит колонку по центру;
  • padding оставляет поля, чтобы на телефоне текст не прилипал к краям.

Проверьте себя в инструментах

Откройте инструменты разработчика и выберите абзац с классом recipe__lead. На панели Styles вы увидите правило .recipe__lead, а ниже — унаследованные от body свойства. На панели Computed найдите color и убедитесь, что значение взято из вашего правила, а не из body.

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

Что запомнить

  • Разметка — в index.html, оформление — в отдельном style.css, связь — элемент link.
  • Начинайте с основы — шрифт, цвет, ширина строки, — а детали добавляйте потом.
  • Ограничивайте ширину текста, чтобы строки было удобно читать.
  • Проверяйте результат в инструментах разработчика.

Проверьте себя

1. Какой элемент связывает index.html и style.css?
2. Зачем у колонки текста max-width: 36rem?
3. Что делает margin: 0 auto у блока с ограниченной шириной?
4. Почему шрифт и цвет удобно задать у body?

Практика

Задача 1

Оформите карточку рецепта

Поставьте карточку по центру, ограничьте её ширину 24rem, добавьте внутренний отступ 1.5rem, рамку 1px solid #ddd и скругление углов 8px.

HTML
<article class="card">
  <h1>Сырники</h1>
  <p>Творог, яйцо, немного муки и сахара. 20 минут на сковороде.</p>
</article>

Ожидаемый результат

Показать решение
CSS
.card {
  max-width: 24rem;
  margin: 0 auto;
  padding: 1.5rem;
  border: 1px solid #ddd;
  border-radius: 8px;
}

Задача 2

Задайте шрифт всей странице

Одним правилом сделайте так, чтобы весь текст страницы был шрифтом Georgia, serif и цветом #333.

HTML
<h1>Дневник</h1>
<p>Сегодня <strong>отличный</strong> день.</p>
<ul>
  <li>Прогулка</li>
  <li>Книга</li>
</ul>

Ожидаемый результат

Показать решение
CSS
body {
  font-family: Georgia, serif;
  color: #333;
}

Свойства наследуются от body, поэтому одного правила хватает для заголовка, абзаца и списка.

Поиск

Название свойства, селектора или функции — можно по-английски и без двоеточий: hover, gap, clamp.

Меню