Цвет текста в CSS задаётся через свойство color. Оно принимает значения в формате ключевых слов (red, blue), HEX-кодов (#ff5733), RGB и HSL. Например, color: #1a1a1a;
задаст тёмно-серый цвет без использования имён.
Для акцентирования части текста в элементе можно использовать встроенные теги HTML, такие как <span>
, и задать цвет через селектор. Пример: span.important { color: crimson; }
. Это удобно, когда требуется выделить только одно слово или фразу в абзаце.
С помощью классов можно централизованно управлять стилями текста. Например, создаётся класс .error
с правилом color: red;
, и далее он подключается к любому тегу: <p class="error">
. Такой подход упрощает поддержку кода.
Если необходимо изменить цвет текста при наведении, используется псевдокласс :hover. Например: a:hover { color: orange; }
. Это особенно актуально для ссылок, кнопок и элементов интерфейса, взаимодействующих с пользователем.
Для текстов на фоне изображений или сложных градиентов можно применить прозрачность с помощью RGBA: color: rgba(255, 255, 255, 0.8);
. Это позволяет избежать конфликтов читаемости и сделать интерфейс более гармоничным.
Как задать цвет текста с помощью свойства color
color – основное CSS-свойство для установки цвета текста. Оно применяется ко всем элементам, содержащим текст, включая p, h1–h6, a, span и другие.
Цвет можно указать разными способами:
1. Ключевое слово: color: red; – всего доступно 140 именованных цветов, включая blue, gray, teal.
2. Шестнадцатеричный код: color: #1a73e8; – формат #RRGGBB, где каждая пара символов задаёт интенсивность цвета. Сокращённая форма #fff допустима для одинаковых значений каналов.
3. RGB: color: rgb(26, 115, 232); – значения от 0 до 255. Прозрачность не поддерживается.
4. RGBA: color: rgba(26, 115, 232, 0.7); – последний параметр задаёт прозрачность от 0 до 1.
5. HSL: color: hsl(220, 83%, 51%); – тон (0–360), насыщенность (%) и яркость (%).
6. HSLA: color: hsla(220, 83%, 51%, 0.7); – добавлена прозрачность.
Рекомендуется использовать переменные CSS для унификации цветовой схемы: —main-color: #1a73e8; и color: var(—main-color);
При выборе формата учитывай поддержку браузеров: современные версии обрабатывают все перечисленные варианты, но на старых могут возникнуть проблемы с hsl(a) и rgba.
Цвет текста следует проверять на читаемость: контраст с фоном должен соответствовать требованиям WCAG. Для быстрой проверки можно использовать инструмент contrast-ratio.com.
Как использовать HEX, RGB и HSL для задания цвета
В CSS можно задать цвет текста тремя форматами: HEX, RGB и HSL. Каждый из них подходит для разных задач и дает контроль над оттенками, насыщенностью и прозрачностью.
- HEX – шестизначное значение, начинающееся с
#
. Пример:#3498db
. Первые два символа – красный, затем зелёный и синий в шестнадцатеричной системе. Укороченный вариант:#fff
равен#ffffff
. - RGB – формат
rgb(52, 152, 219)
, где три числа задают интенсивность красного, зелёного и синего (0–255). Для прозрачности используетсяrgba
, например:rgba(52, 152, 219, 0.5)
. - HSL – формат
hsl(204, 70%, 53%)
. Первый параметр – оттенок в градусах (0–360), затем насыщенность и яркость в процентах. Для прозрачности:hsla(204, 70%, 53%, 0.5)
.
Для динамической настройки цвета в интерфейсах HSL подходит лучше – проще управлять светлотой и насыщенностью. RGB полезен при точном подборе оттенков по пиксельной шкале. HEX удобен для компактной записи и чаще встречается в готовых палитрах.
- Для белого используйте
#ffffff
,rgb(255, 255, 255)
илиhsl(0, 0%, 100%)
. - Чёрный:
#000000
,rgb(0, 0, 0)
,hsl(0, 0%, 0%)
. - Полупрозрачный чёрный:
rgba(0, 0, 0, 0.3)
илиhsla(0, 0%, 0%, 0.3)
.
Выбор формата зависит от задачи: для UI с переменной светлотой – HSL, для единообразия с дизайном – HEX, для программной генерации – RGB.
Как изменить цвет части текста внутри элемента
Чтобы выделить цветом отдельное слово или фрагмент текста внутри тега, используйте обёртку с тегом <span>
и примените к нему CSS-свойство color
. Это позволяет управлять стилем без влияния на остальное содержимое.
Пример:
<p>Этот текст содержит <span style="color: red;">красное слово</span> внутри.</p>
Альтернативный подход – задать класс и описать стиль отдельно:
<style>
.highlight { color: #007acc; }
</style>
<p>Цвет можно задать через <span class="highlight">класс стиля</span>.</p>
Цвет можно указать в любом формате: ключевое имя (например, blue
), HEX (#ff6600
), RGB (rgb(255, 100, 0)
) или HSL (hsl(24, 100%, 50%)
), в зависимости от нужной точности и удобства.
Не применяйте color
к блочным элементам без необходимости – для этого предпочтительнее стилизовать сам контейнер. span
остаётся основным инструментом точечной настройки цвета в тексте.
Как задать цвет ссылкам в разных состояниях
Цвет ссылок задаётся через псевдоклассы: :link
, :visited
, :hover
, :active
. Правильный порядок их объявления в CSS обязателен: LVHA – Link, Visited, Hover, Active.
Пример базового набора стилей:
a:link {
color: #1a0dab;
}
a:visited {
color: #6a0dad;
}
a:hover {
color: #ff5722;
}
a:active {
color: #d32f2f;
}
:link
применяется к обычным ссылкам, на которые пользователь ещё не переходил. :visited
– к уже посещённым. :hover
срабатывает при наведении курсора. :active
– в момент нажатия на ссылку.
Для внутренних ссылок можно задать отдельный стиль с использованием атрибута [href^="#"]
или [href^="/"]
в сочетании с псевдоклассами:
a[href^="#"]:hover {
color: #009688;
}
Чтобы отключить стандартное поведение браузера для посещённых ссылок, задавайте одинаковые цвета для :link
и :visited
:
a:link,
a:visited {
color: #0077cc;
}
Не используйте только цвет для передачи состояния – добавьте подчёркивание или смену фона для :hover
:
a:hover {
color: #ff9800;
text-decoration: underline;
}
Как применить градиент к тексту с помощью background-clip
Чтобы наложить градиент на текст, необходимо использовать комбинацию свойств background-image, background-clip: text и color: transparent. Это работает только с префиксом -webkit- в большинстве браузеров.
Пример CSS-кода:
.gradient-text {
background-image: linear-gradient(90deg, #ff6a00, #ee0979);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
background-image задаёт направление и цвета градиента. В данном примере он идёт слева направо, от оранжевого к розовому.
-webkit-background-clip: text ограничивает область заливки только текстом, а -webkit-text-fill-color: transparent делает сам текст прозрачным, чтобы градиент стал видимым.
Работает только с блочными или строчно-блочными элементами. Класс .gradient-text можно применить, например, к тегу <h1> или <span> с display: inline-block.
Для Firefox потребуется включённый флаг layout.css.background-clip-text.enabled в about:config, иначе эффект не отобразится.
Как управлять цветом текста в зависимости от темы сайта
Цвет текста должен меняться синхронно с темой сайта. Для этого применяют CSS-переменные, которые задаются в корневом селекторе :root
и переопределяются в зависимости от класса темы.
Пример базовых переменных:
:root {
--text-color: #1a1a1a;
--background-color: #ffffff;
}
body.dark {
--text-color: #e0e0e0;
--background-color: #121212;
}
Текст оформляется с использованием переменной:
body {
color: var(--text-color);
background-color: var(--background-color);
}
Для переключения темы добавляется или удаляется класс dark
у body
. Это может быть реализовано на JavaScript или через системные настройки:
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
Важно проверять контрастность текста и фона. Минимальное значение контраста для основного текста – 4.5:1. Проверку можно выполнить через инструмент WebAIM.
Не задавайте цвета напрямую в стилях элементов – это делает адаптацию под тему неудобной. Используйте только переменные. Поддерживайте единый набор переменных для всех компонентов.