Задача
СкопированоВам необходимо покрасить текст в разные цвета, например, в радужный градиент. Но как это сделать, если свойство color может принимать только один цвет?
Готовое решение
Скопировано
h1 { background-image: linear-gradient(250deg, #833AB4 0%, #FD1D1D 50%, #FCB045 100% ); background-clip: text; -webkit-background-clip: text; color: transparent;}
h1 {
background-image:
linear-gradient(250deg,
#833AB4 0%,
#FD1D1D 50%,
#FCB045 100%
);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
Разбор решения
СкопированоНапишем текст и начнём думать, как решить задачу.
<h1>Отпуск — это хорошо!</h1>
<h1>Отпуск — это хорошо!</h1>
Чтобы сделать разноцветный фон, понадобится свойство background. Свойство background не подходит, потому что оно не поддерживает градиенты.
Добавим стилей:
body { color: white;}h1 { background-image: linear-gradient(250deg, #833AB4 0%, #FD1D1D 50%, #FCB045 100% );}
body {
color: white;
}
h1 {
background-image:
linear-gradient(250deg,
#833AB4 0%,
#FD1D1D 50%,
#FCB045 100%
);
}
Теперь текст визуально находится поверх разноцветного фона:
Затем превратим текст в трафарет. Для этого понадобится свойство background со значением text.
Свойство не поддерживается Internet Explorer и другими старыми браузерами, а Google Chrome (и браузеры на основе Chromium) могут требовать вендорный префикс. Учтём это:
h1 { ... background-clip: text; -webkit-background-clip: text;}
h1 {
...
background-clip: text;
-webkit-background-clip: text;
}
Текст снова стал белым, потому что в body указано это значение. Сделаем его прозрачным и удалим лишние значения. Получаем вот такой результат:
h1 { background-image: linear-gradient(250deg, #833AB4 0%, #FD1D1D 50%, #FCB045 100% ); background-clip: text; -webkit-background-clip: text; color: transparent;}
h1 {
background-image:
linear-gradient(250deg,
#833AB4 0%,
#FD1D1D 50%,
#FCB045 100%
);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
А если не градиент?
СкопированоТаким же образом можно поставить фоном для текста любое изображение:
Главное — не забывать, что текст должен контрастировать с фоном, чтобы его было удобно читать.