Menu
Coddy logo textTech

Темизация типографики

Часть раздела Practical Frontend путешествия по HTML на Coddy — урок 15 из 35.

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

Вы можете определить переменные для:

  • Семейства шрифтов (например, --font-family-base, --font-family-heading)
  • Размеры шрифта (например, --font-size-base, --font-size-h1)
  • Межстрочный интервал
  • Межсимвольный интервал

Сначала давайте определим наши переменные типографики в элементе :root:

:root {
  --font-primary: 'Open Sans', sans-serif;
  --font-secondary: 'Roboto', sans-serif;
  --font-size-base: 16px;
  --line-height: 1.5;
  --heading-color: #333;
  --text-color: #555;
}

Теперь примените эти переменные к вашим текстовым элементам:

body {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height);
  color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-secondary);
  color: var(--heading-color);
}

Эта настройка создает единую систему типографики, которую вы можете легко изменить, обновив значения переменных в одном месте.

challenge icon

Задание

Легко

Создайте типографическую тему для веб-сайта блога с отдельными переменными для заголовков и основного текста. Ваша задача:

  1. Определите CSS-переменные для:
    • Размеров шрифта заголовков (--h1-size и --h2-size)
    • Цвета текста абзацев  (--text-color) — выберите цвет, отличный от чисто черного, для лучшей читаемости
    • Цвета текста заголовков   ( --heading-color ) — выберите цвет, который выделяется на фоне основного текста
  2. Примените эти переменные для стилизации:
    • Основного текста 
    • Заголовков h1 и h2

Ваш CSS должен создавать четкую визуальную иерархию между заголовками и текстом абзацев.

Шпаргалка

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

Определите переменные типографики в элементе :root:

:root {
  --font-primary: 'Open Sans', sans-serif;
  --font-secondary: 'Roboto', sans-serif;
  --font-size-base: 16px;
  --line-height: 1.5;
  --heading-color: #333;
  --text-color: #555;
}

Применяйте переменные к текстовым элементам с помощью var():

body {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height);
  color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-secondary);
  color: var(--heading-color);
}

Общие переменные типографики включают:

  • Семейство шрифтов (основные и заголовочные шрифты)
  • Размеры шрифтов (базовый размер и размеры заголовков)
  • Межстрочный интервал
  • Межсимвольный интервал
  • Цвета (цвета текста и заголовков)

Попробуйте сами

<!DOCTYPE html>
<html>
<head>
  <title>Typography Theming</title>
  <style>
    :root {
      /* Typography variables */
      --primary-font: "Georgia", serif;       /* for paragraphs */
      --secondary-font: "Arial", sans-serif; /* for headings */

    }

    body {
      font-family: var(--primary-font);
      color: #000000;
      line-height: 1.6;
      margin: 0;
      padding: 20px;
      background-color: #f9f9f9;
    }

    h1, h2 {
      font-family: var(--secondary-font);
      color: #000000;
      margin-bottom: 0.5em;
    }

    h1 {
      font-size: 16px;
    }

    h2 {
      font-size: 16px;
    }

    p {
      margin-bottom: 1.2em;
    }

    .blog-post {
      max-width: 700px;
      margin: 0 auto;
      background: #fff;
      padding: 2rem;
      border-radius: 10px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
  </style>
</head>
<body>
  <div class="blog-post">
    <h1>The Beauty of Typography in Web Design</h1>
    <p>Typography plays a crucial role in how users read and experience content online. A good choice of fonts and sizes can make a website more readable and enjoyable.</p>

    <h2>Why Typography Matters</h2>
    <p>Clear and consistent typography improves accessibility, creates a visual hierarchy, and gives your website a professional feel. Without it, even the best design can look unpolished.</p>

    <h2>Mobile-First Typography</h2>
    <p>Starting with smaller, readable text for mobile and scaling up for desktops ensures your content looks great on any device. This approach is part of mobile-first design and theming.</p>
  </div>
</body>
</html>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Practical Frontend