Урок 14. Теория: Цвета и типографика

📁 Раздел: Основы CSS ⏱️ Время изучения: ~45 мин 🎯 Сложность: Начальная
#color #background-color #rgb #hsl #font-family #font-size #font-weight #line-height #text-align #letter-spacing #max-width

⚡ Кратко

Цвет и типографика формируют читаемость страницы. Выбирайте контрастные цвета, задавайте понятную иерархию заголовков, управляйте длиной строки, line-height и весом шрифта.

  • Цвет задаётся именем, #hex, rgb() или hsl() — это записи одного и того же цвета.
  • Контраст текста и фона важнее декора: слабый контраст = трудно читать.
  • Базовые свойства текста: font-family, font-size, font-weight, line-height, color.
  • Комфортная строка — 65–75 символов: ограничивайте текст через max-width в ch.

Главная идея

Цвет и типографика — это не «украшения в конце», а основа читаемости. Один и тот же текст с продуманными цветами и интервалами читается легко, а со случайными — утомляет глаз. В CSS у нас два инструмента: цвет (как раскрасить текст и фон) и типографика (как набрать сам текст — шрифт, размер, межстрочный интервал, вес).

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

Три записи одного цвета

Цвет можно задать именем (teal), шестнадцатеричным кодом (#0f766e), функцией rgb() или hsl(). Это разные «языки» для одного и того же оттенка. Ниже — один цвет в трёх нотациях, образцы идентичны:

#0f766e
rgb(15 118 110)
hsl(176 77% 26%)
  • Hex (#0f766e) — две цифры на красный, зелёный, синий. Самая частая запись в проектах.
  • rgb() — те же каналы 0–255, но числами. Удобно читать «сколько каждого канала».
  • hsl() — тон (0–360°), насыщенность и светлота в %. Удобен для подбора оттенков: меняешь только светлоту — получаешь светлее/темнее.

Контраст важнее декора

Главное правило цвета в тексте — контраст между текстом и фоном. Сравните: слева текст легко читается, справа — почти сливается с фоном.

Aa
#1f2937 на #f8fafc — хорошо
Aa
#d1d5db на белом — плохо

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

⚠️ Проверить по документации: для доступности WCAG требует контраст не ниже 4.5:1 для обычного текста. Проверяйте пары цветов в DevTools или онлайн-чекерах контраста.

Из чего состоит типографика

Типографика начинается с базовых свойств, которые задаются у body и наследуются дочерними элементами:

  • font-family — семейство шрифта. Указывают список «запасных»: Georgia, 'Times New Roman', serif — браузер берёт первый доступный.
  • font-size — размер букв. Базовый текст обычно 16–18px (или 1rem).
  • font-weight — насыщенность: 400 (обычный), 700 (жирный).
  • line-height — высота строки. Для основного текста комфортно 1.51.6.
  • color — цвет текста.

Длина строки и иерархия

Хорошая строка не должна быть слишком длинной: глазу трудно найти начало следующей. Ограничивайте текстовые блоки через max-width в единицах ch (ширина символа «0»): комфортный диапазон — 65–75ch.

Заголовки должны отличаться не только размером, но и ролью: h1 — главный заголовок страницы (один), h2 — разделы, h3 — подразделы. Это и визуальная иерархия, и структура для скринридеров.

Когда применять: на каждой странице. Задайте у body цвет, фон, font-family и line-height — и весь текст сразу станет читаемым. Дальше только уточняйте заголовки и акценты.
Частая ошибка: подбирать цвета «на глаз» в светлой среде. То, что читается на вашем ярком мониторе, может слиться в фон на чужом. Всегда проверяйте контраст инструментом, а не интуицией.
Проверка понимания: откройте пример из раздела «Примеры» и объясните, какая строка отвечает за видимый результат в браузере.