Как сделать текст разноцветным по вертикали с помощью CSS
Сразу пример, затем пояснения ...
- [data-two-colors]
-
стили будут применяться к любому элементу с атрибутом
data-two-colors
, в нашем случае к<span>
.- color: red;
- цвет основного текста (нижней части).
- position: relative;
- относительное позиционирование; нужно для того, чтобы добавляемый с помощью свойства
content
(см. ниже) текст лёг сверху текущего, то есть спозиционировался относительно основного.
- [data-two-colors]::after
-
стили будут применяться к контенту, который добавляется после элемента (
::after
) с атрибутомdata-two-colors
.- color: green;
- цвет добавляемого текста (верхней части).
- content: attr(data-two-colors);
- добавление текста из атрибута
data-two-colors
; значение этого атрибута должно полностью совпадать с содержимым элемента. - height: 0.5em;
- высота добавляемого текста (верхней части); значение меньше 0.5 уменьшает занимаемую площадь, значение больше — увеличивает.
- overflow: hidden;
- обрезка текста, выходящего за пределы высоты
height
. - position: absolute;
left: 0; - абсолютное позиционирование и сдвиг в крайнюю левую точку; при абсолютном позиционировании добавляемый контент выйдет из основного потока и не будет влиять на другие элементы, а позиция
left: 0;
сдвинет его в крайнюю левую точку родителя сposition
НЕstatic
, то есть нашего<span>
.