Кратко
СкопированоСвойство color
задаёт цвет текста.
Пример
СкопированоНаследует значение свойства color
у ближайшего родителя, у которого оно указано:
.element { color: currentColor;}
.element { color: currentColor; }
Задаёт значение по названию цвета:
.element { color: red; color: orange; color: tan; color: rebeccapurple;}
.element { color: red; color: orange; color: tan; color: rebeccapurple; }
HEX-код цвета, 3- или 6-символьные для сплошных и 4- и 8-символьные для полупрозрачных:
.element { color: #090; color: #009900; color: #090a; color: #009900aa;}
.element { color: #090; color: #009900; color: #090a; color: #009900aa; }
Значение RGB в старом синтаксисе rgb
для сплошных и rgba
для полупрозрачных:
.element { color: rgb(34, 12, 64); color: rgba(34, 12, 64, 0.6);}
.element { color: rgb(34, 12, 64); color: rgba(34, 12, 64, 0.6); }
Значение RGB в новом синтаксисе rgb
для сплошных и для полупрозрачных:
.element { color: rgb(34 12 64); color: rgb(34 12 64 / 0.6); color: rgb(34 12 64 / 60%);}
.element { color: rgb(34 12 64); color: rgb(34 12 64 / 0.6); color: rgb(34 12 64 / 60%); }
Значение HSL в старом синтаксисе hsl
для сплошных и hsla
для полупрозрачных:
.element { color: hsl(30, 100%, 50%); color: hsla(30, 100%, 50%, 0.6); color: hsla(30, 100%, 50%, 60%);}
.element { color: hsl(30, 100%, 50%); color: hsla(30, 100%, 50%, 0.6); color: hsla(30, 100%, 50%, 60%); }
Значение HSL в новом синтаксисе hsl
для сплошных и для полупрозрачных:
.element { color: hsl(30 100% 50%); color: hsl(30 100% 50% / 0.6); color: hsl(30 100% 50% / 60%);}
.element { color: hsl(30 100% 50%); color: hsl(30 100% 50% / 0.6); color: hsl(30 100% 50% / 60%); }
Как понять
СкопированоЛюбому элементу веб-страницы можно задать свой цвета текста. Свойство color
задаёт его для текста, а также для элементов его оформления, например, подчёркивания, линии над текстом, перечёркивания и других.
Чтобы задать фон текста, используйте свойство background
, а рамки элемента можно раскрасить с помощью border
.
Как пишется
СкопированоЦвет можно задать с помощью названия цвета, в формате HEX, RGB, HSL или с помощью ключевых слов. Подробно о возможных значениях можно прочитать в статье «Цвета в вебе».
Название цвета
СкопированоМожно использовать название цвета или его оттенка на английском из списка именованных цветов. Это базовый набор непрозрачных цветов, например, красный red
, синий blue
, оранжевый orange
, чёрный black
, тёмно-серый darkgray
, светло-серый, lightgrey
, белый white
, а также смешанные цвета, вроде цвета морской волны lightseagreen
, василькового cornflowerblue
или томатного tomato
.
HEX-код
СкопированоШестнадцатеричный код цвета в цветовой модели RGB, который начинается с #
, например, #ff0000
. Сплошные цвета записываются в формате #
или в сокращённом #
(если символы каждой группы одинаковые). Например, #009900
или #090
. Если нужно указать прозрачность, она добавляется в конце в HEX-формате #
или #
, например, #00990055
или #0905
.
Раньше нельзя было задать цвет в нотации #
и приходилось использовать функцию rgba
, но сегодня у этого способа неплохая кроссбраузерность. Проблема одна: мало кто сходу сможет рассчитать 50% в шестнадцатеричном формате, поэтому для указания прозрачности цвета чаще всего используют функцию rgb
, где прозрачность можно задать в дробях или процентах.
Формат RGB
СкопированоДля задания цвета используется функция rgb
, например, rgb
для синего. Каждое из трёх значений отвечает за отдельный канал RGB и может быть записано числом от 0 до 255 или в процентах. Для добавления прозрачности, после записи каналов нужно поставить слэш и записать нужное значение от 0 до 1 или в процентах, например rgb
для полупрозрачного синего.
Раньше синтаксис RGB отличался от современного и вы всё ещё можете встретить его в коде или выбрать для лучшей кроссбраузерности, см. Can I use. Для разделения каналов внутри функции нужно было использовать запятые rgb
, а для добавления прозрачности — специальную функцию rgba
, которая принимала последним параметром прозрачность цвета, например rgba
.
Формат HSL
СкопированоЦветовая модель HSL описывает те же цвета, что и HSL, но иначе: H — Hue (оттенок), S — Saturation (насыщенность), L — Lightness (светлота). Например, hsl
для зелёного. Первое значение оттенка задаётся в градусах и его можно записать просто как 120
(как чаще всего и делают) или с указанием единицы 120deg
, второе и третье значение указываются в процентах. Прозрачность добавляется так же, как в rgb
, с помощью слэша со значением, например hsl
полупрозрачный зелёный.
Синтаксис hsl
отличался от современного точно так же, как rgb
: нужны были запятые и специальная функция hsla
для задания прозрачности цвета. Используйте старый синтаксис для лучшей совместимости и не удивляйтесь, если встретите его в коде.
Ключевые слова
СкопированоКлючевое слово transparent
задаёт прозрачный цвет текста. Технически это равносильно записи любого цвета с нулевой прозрачностью rgb
, но бывают случаи, когда просто прозрачность и прозрачность цвета могут работать иначе, например, в градиентах.
Полезные ссылки
СкопированоЛучше всегда доверять выбор цвета профессионалам, но иногда мы делаем проект для себя и нам нужно сделать хорошую подборку цветов для проекта. В этом случае лучше всего не изобретать велосипед, а воспользоваться уже подходящими опенсорсными подборками:
Или создать что-то своё, но под руководством профессионалов. Например:
И отдельно присмотритесь к сервисам, которые умеют подбирать безопасные цвета для людей с особенностями их восприятия:
Подсказки
Скопировано💡 Ничего лучше чёрного текста на белом фоне пока не придумали. Или белого на чёрном, если читаешь ночью. Убедись, что цвет текста выглядит контрастно на заданном фоне, лучше даже проверить.
💡 Свойство цвета можно анимировать при помощи transition
🎉
💡 Если вам нужно задать полупрозрачный текст, используй значение с указанием альфа-канала. Не используй для этих целей opacity
. Иначе при добавлении в элемент другого контента, например, иконки, он тоже станет полупрозрачным. Это, скорее всего, не входило в ваши планы.
На практике
Скопированосоветует Скопировано
🛠 Цвет текста — наследуемое свойство. Если на странице преобладает какой-то цвет, то его можно задать для селектора html
. В этот цвет будет автоматически окрашен весь текст на странице.
🛠 Ключевое слово current
нужно, чтобы использовать текущий или унаследованный цвет текста в других местах, где можно указать цвет фона, рамки и прочего, например:
<div class="parent"> Мы сделали этот текст зелёным с помощью свойства «color». Рамки блока наследуют цвет от текста. <div class="child"></div> Блок выше 👆 тоже наследует фоновый цвет от текста, для которого задано свойство «color».</div>
<div class="parent"> Мы сделали этот текст зелёным с помощью свойства «color». Рамки блока наследуют цвет от текста. <div class="child"></div> Блок выше 👆 тоже наследует фоновый цвет от текста, для которого задано свойство «color». </div>
.parent { color: #49a16c; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor;}.child { background: currentColor; height: 110px;}
.parent { color: #49a16c; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; } .child { background: currentColor; height: 110px; }