Как задать цвет текста на странице: CSS-свойство color

HTML / Доступность

Как задать цвет текста на странице: CSS-свойство color

Современные способы задать цвет текста через CSS: форматы цветов, наследование, переменные, состояния ссылок и контраст.

Опубликовано 04.09.2026 4 минуты чтения
Содержание статьи

Цвет текста задаётся не специальным HTML-тегом, а CSS-свойством color. HTML описывает смысл содержимого, CSS отвечает за оформление.

HTML
<p class="notice">Срок действия ссылки истёк.</p>​

CSS
.notice {  color: #b42318;}​

Устаревший тег <font> использовать нельзя. Inline-стиль style="color: ..." работает, но плохо масштабируется: его трудно переиспользовать и переопределять. Для проекта лучше класс и таблица стилей.

Форматы записи цвета

Один цвет можно описать несколькими способами.

Ключевые слова

CSS
.example {  color: rebeccapurple;}​

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

HEX

CSS
.example {  color: #663399;}​

Формат содержит пары красного, зелёного и синего каналов. Краткая запись #639 равна #663399, но полная обычно читается однозначнее.

RGB с прозрачностью

CSS
.example {  color: rgb(102 51 153 / 80%);}​

Современный синтаксис позволяет добавить альфа-канал после /. Полупрозрачный текст смешивается с фоном, поэтому его контраст зависит от содержимого под ним.

HSL

CSS
.example {  color: hsl(270 50% 40%);}​

HSL описывает тон, насыщенность и светлоту. Он удобен при создании связанных оттенков, но не делает цвет автоматически доступным.

Наследование цвета

color наследуется дочерними элементами. Достаточно задать базовый цвет на <body>:

CSS
body {  color: #20242c;  background-color: #ffffff;}​

Абзацы, списки и заголовки получат его, пока более точное правило не задаст другое значение.

Для иконок и границ полезно ключевое слово currentColor:

CSS
.tag {  color: #5b21b6;  border: 1px solid currentColor;}​.tag__icon {  fill: currentColor;}​

Теперь текст, рамка и SVG-иконка меняются согласованно.

Цветовые переменные

Повторяющиеся цвета лучше хранить в custom properties:

CSS
:root {  --color-text: #20242c;  --color-text-muted: #5d6675;  --color-link: #4f46e5;  --color-link-hover: #3730a3;  --color-danger: #b42318;}​body {  color: var(--color-text);}​.form-error {  color: var(--color-danger);}​

Названия описывают назначение, а не конкретный оттенок. Переменная --color-danger понятнее и устойчивее, чем --red.

Состояния ссылок

Цвет ссылки должен оставаться различимым в разных состояниях. Не убирайте подчёркивание без равноценной визуальной подсказки.

CSS
.article a {  color: var(--color-link);  text-decoration-thickness: 0.08em;  text-underline-offset: 0.18em;}​.article a:visited {  color: #6d28d9;}​.article a:hover {  color: var(--color-link-hover);}​.article a:focus-visible {  outline: 3px solid #f59e0b;  outline-offset: 3px;}​

Состояние :focus-visible особенно важно для клавиатурной навигации. Цвет не должен быть единственным признаком ошибки или статуса: добавьте текст, значок или другое понятное обозначение.

Контраст текста и фона

Красивый оттенок может оказаться нечитаемым. Для обычного текста ориентируйтесь минимум на отношение контраста 4.5:1, для крупного — 3:1. Точный порог зависит от размера и начертания, поэтому проверяйте сочетание инструментом контраста, а не на глаз.

Плохой пример:

CSS
.hint {  color: #b7bcc6;  background-color: #ffffff;}​

Светло-серый текст на белом фоне трудно прочитать. «Второстепенный» не значит «почти невидимый».

Учитывайте все состояния: обычное, hover, focus, disabled, выделение текста, светлую и тёмную темы. При системном режиме повышенной контрастности часть цветов может быть заменена браузером — интерфейс должен сохранять смысл.

Локальное исключение

Иногда цвет нужен одному фрагменту:

HTML
<p>  Сборка завершена со статусом  <strong class="status status--success">успешно</strong>.</p>​

CSS
.status--success {  color: #067647;}​

Класс выражает назначение. Если палитра изменится, HTML останется прежним.

Частые ошибки

  • использование <font color="...">;
  • множество inline-стилей вместо общих правил;
  • выбор цвета без проверки на реальном фоне;
  • удаление видимого фокуса у ссылок;
  • передача статуса только красным или зелёным цветом;
  • чрезмерно специфичные селекторы, которые приходится перебивать через !important.

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

Задавайте цвет текста через CSS-свойство color, используйте смысловые классы и переменные, учитывайте наследование и все интерактивные состояния. Всегда проверяйте контраст и не полагайтесь только на цвет при передаче важной информации.

Сообщить об ошибке в статье

Рекомендации редакции

Другие публикации из этого раздела.

Новые материалы

Получайте практические разборы без информационного шума

Одна общая рассылка о новых статьях и инструментах. Адрес будет активироваться только после подтверждения.

Подписка появится после подключения сервиса рассылок и Yandex SmartCaptcha.