DevSkillRoad

Способы задания цвета в CSS

🎨 Как указать цвет: имена, HEX, RGB, HSL

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

1. Имена цветов

Самый простой способ — написать название цвета по-английски. Подходит для основных цветов.

color: red;
color: blue;
color: green;
color: black;
color: white;

Пример в браузере:

Красный текст

Синий текст

Зелёный текст

📌 Всего существует 140 стандартных имён цветов (включая tomato, lavender, coral и другие). Но на практике чаще используют HEX.

2. HEX-коды (шестнадцатеричные)

Самый популярный способ в вёрстке. Цвет задаётся решёткой # и шестью символами: RRGGBB (красный, зелёный, синий).

color: #FF0000;   /* красный */
color: #00FF00;   /* зелёный */
color: #0000FF;   /* синий */
color: #530899;   /* фиолетовый (как в нашем сайте) */
color: #000000;   /* чёрный */
color: #FFFFFF;   /* белый */

Пример в браузере:

Красный (#FF0000)

Зелёный (#00FF00)

Синий (#0000FF)

Фиолетовый (#530899)

3. RGB (Red, Green, Blue)

Цвет задаётся тремя числами от 0 до 255 — интенсивность красного, зелёного и синего.

color: rgb(255, 0, 0);      /* красный */
color: rgb(0, 255, 0);      /* зелёный */
color: rgb(0, 0, 255);      /* синий */
color: rgb(83, 8, 153);     /* фиолетовый (#530899) */

Пример в браузере:

Красный (rgb(255, 0, 0))

Зелёный (rgb(0, 255, 0))

Синий (rgb(0, 0, 255))

Фиолетовый (rgb(83, 8, 153))

RGBA — с прозрачностью

Добавляет четвёртое значение — прозрачность (alpha) от 0 (полностью прозрачный) до 1 (полностью непрозрачный).

background-color: rgba(255, 0, 0, 0.3);   /* полупрозрачный красный фон */
background-color: rgba(83, 8, 153, 0.5);  /* полупрозрачный фиолетовый фон */
background-color: rgba(0, 0, 255, 0.1);   /* почти прозрачный синий фон */

Пример в браузере (на белом фоне):

Красный фон с прозрачностью 0.3
Фиолетовый фон с прозрачностью 0.5
Синий фон с прозрачностью 0.1 (почти незаметен)

4. HSL (Hue, Saturation, Lightness)

Более интуитивный способ задания цвета. Состоит из трёх компонентов.

Тон (Hue) — от 0 до 360

Это положение цвета на цветовом круге. 0° — красный, 120° — зелёный, 240° — синий, 360° — снова красный.

Насыщенность (Saturation) — от 0% до 100%

Чем выше процент, тем цвет ярче и насыщеннее. При 0% цвет становится серым (оттенки серого).

Синий, насыщенность 100% (яркий)

Синий, насыщенность 50% (приглушённый)

Синий, насыщенность 0% (серый)

Светлота (Lightness) — от 0% до 100%

Чем выше процент, тем цвет светлее. 0% — чёрный, 100% — белый. 50% — чистый цвет без добавления чёрного или белого.

Тёмно-синий (светлота 20%)

Стандартный синий (светлота 50%)

Светло-синий (светлота 80%)

Как это понять на примере фиолетового (#530899)

Переведём наш фиолетовый в HSL: hsl(270, 90%, 32%)

Примеры изменения насыщенности:

Наш фиолетовый (90% насыщенности)

Приглушённый фиолетовый (50%)

Почти серый (10%)

Примеры изменения светлоты:

Очень тёмный фиолетовый (20% светлоты)

Средний фиолетовый (50% светлоты)

Светлый фиолетовый (80% светлоты)

📌 Аналогия: Тон — это цвет радуги (красный, оранжевый, жёлтый...). Насыщенность — как сильно вы крутите регулятор цвета на телевизоре: от чёрно-белого (0%) до кислотного (100%). Светлота — как яркость лампочки: от чёрного (0%) до белого (100%).

HSLA — с прозрачностью

background-color: hsla(270, 90%, 32%, 0.5);  /* полупрозрачный фиолетовый */

5. Какой способ выбрать?

📓 Из тетради: «Цвет — это первое, что видит пользователь. Научитесь задавать цвета разными способами — поймёте, как они работают. А в следующей лекции узнаете, к каким свойствам эти цвета применять».