Я пытаюсь оформить индикатор выполнения, который выглядит следующим образом:
![progress](https://i.stack.imgur.com/J9mak.png)
Левая часть может иметь разные цвета (зеленый, оранжевый и т. Д.), И я хочу, чтобы текст менял цвет в соответствии с фоном внизу. В идеале, он должен быть черным / темно-серым над светло-серой правой частью (как в примере), таким же черным / темно-серым, когда левая часть довольно светлая, и белым, когда левая часть довольно темная (как, например, зеленый в примере).
Я пробовал различные комбинации mix-blend-mode: difference
и color
, но не смог этого добиться.
Голый пример здесь
Я попробовал также что-то вместе filter: grayscale(1) contrast(9);
.container {
width: 200px;
height: 20px;
position: relative;
background-color: #eee;
text-align: center;
}
.progress {
position: absolute;
top: 0;
left: 0;
width: 50%;
height: 100%;
background-color: #43a047;
}
.text {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
mix-blend-mode: difference;
color: white;
}
<div class="container">
<div class="progress"></div>
<div class="text">Some text here</div>
</div>