Heim >Web-Frontend >CSS-Tutorial >Wie kann ich die Textfarbe basierend auf der Hintergrundfarbe in einer Fortschrittsleiste dynamisch ändern?

Wie kann ich die Textfarbe basierend auf der Hintergrundfarbe in einer Fortschrittsleiste dynamisch ändern?

DDD
DDDOriginal
2024-12-10 12:51:09928Durchsuche

How Can I Dynamically Change Text Color Based on Background Color in a Progress Bar?

Text über Hintergrundfarbe gemischt

Beim Versuch, einen benutzerdefinierten Fortschrittsbalken zu gestalten, steht ein Entwickler vor der Herausforderung, die Textfarbe dynamisch zu ändern basierend auf der Hintergrundfarbe darunter. Der gewünschte Effekt ist ein dunkler Text auf einem hellen Hintergrund und umgekehrt.

Verschiedene Mix-Blend-Modi und Farbkombinationen wurden erfolglos ausprobiert. Eine alternative Lösung besteht darin, einen separaten Farbverlauf zum Färben des Texts zu erstellen:

.container {
  background: linear-gradient(to right, #43a047 50%, #eee 0);
  text-align: center;
}

.text {
  background: linear-gradient(to right, white 50%, black 0);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}

Durch die Verwendung eines linearen Farbverlaufs für das Textelement kann die Farbe basierend auf dem Hintergrundfarbverlauf reibungslos von Weiß nach Schwarz übergehen. Der Text wird transparent und mit dem gewünschten Farbverlauf gefüllt, wodurch der gewünschte Mischeffekt entsteht.

Das obige ist der detaillierte Inhalt vonWie kann ich die Textfarbe basierend auf der Hintergrundfarbe in einer Fortschrittsleiste dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn