У меня есть div, который позиционируется абсолютно с градиентом цвета фона.У меня есть этот текст, который я хочу изменить на белый цвет при прокрутке текста вверх.
Я использую свойство 'mix-blend-mode', чтобы достичь этого в настоящее время, но не могунайдите любую настройку, которая превратит текст из черного в белый.Кто-нибудь делал это раньше или может придумать трюк, который я могу сделать?
.bg-container {
position: fixed;
top: -30px;
left: 0;
width: 100px;
height: 100px;
}
.gradient-background {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 200px;
background-image: linear-gradient(to bottom, rgb(100, 182, 240) 15%, rgb(81, 155, 244));
transform: skewY(-15deg);
}
.scroll-content {
position: absolute;
top: 50px;
}
.scroll-content p {
color: #000;
mix-blend-mode: overlay;
}
/*hack for iOS*/
.scroll-content p:after{
content: '\200c'
}
<div class="bg-container">
<div class="gradient-background">
</div>
</div>
<div class="scroll-content">
<p> abc 1 </p>
<p> abc 2 </p>
<p> abc 3 </p>
<p> abc 4 </p>
<p> abc 5 </p>
<p> abc 6 </p>
<p> abc 7 </p>
<p> abc 8 </p>
<p> abc 9 </p>
<p> abc 10 </p>
<p> abc 11 </p>
<p> abc 12 </p>
<p> abc 13 </p>
<p> abc 14 </p>
<p> abc 15 </p>
<p> abc 16 </p>
<p> abc 17 </p>
<p> abc 18 </p>
<p> abc 19 </p>
</div>
* edit 1: Изменен мой пример сниппета.Фоновый градиент - это не просто прямоугольник.Это немного наклонено, и это делает его таким трудным.Таким образом, текст становится двухцветным на границе.
* для ясности отредактируйте 2: я хочу, чтобы текст был черным (сплошной цвет # 000), когда он находится над белым фоном, и белым (сплошной цвет #FFF), когдаэто по градиенту / изображению.Мой контент - это текст с возможностью прокрутки, как в примере кода.
* edit 3: iOS Safari несовместим, если вы не сделаете следующий хак.Добавьте пробел нулевой ширины ​ ;
для каждого текстового элемента, чтобы он работал.Это можно легко сделать с помощью свойства CSS, как я показываю, добавленного в разметку CSS.