Heim > Web-Frontend > CSS-Tutorial > Wie kann ich die Schriftfarbe basierend auf der Hintergrundfarbe in CSS dynamisch umkehren?

Wie kann ich die Schriftfarbe basierend auf der Hintergrundfarbe in CSS dynamisch umkehren?

DDD
Freigeben: 2024-12-16 11:55:10
Original
874 Leute haben es durchsucht

How Can I Dynamically Invert Font Color Based on Background Color in CSS?

Invertieren der Schriftfarbe basierend auf der Hintergrundfarbe

In CSS kann es vorkommen, dass Sie die Schriftfarbe abhängig von der Hintergrundfarbe umkehren möchten Hintergrundfarbe, wodurch ein ähnlicher Effekt wie im Bild unten erzielt wird:

[Bild mit abwechselnd weißem und schwarzem Text auf farbigem Hintergrund Panels]

CSS-Lösung:

Während es keine direkte CSS-Eigenschaft zum Invertieren der Schriftfarbe basierend auf der Hintergrundfarbe gibt, können Sie dies mithilfe von Pseudoelementen erreichen. Darüber hinaus können Sie zur Kompatibilität mit älteren Browsern wie IE6 und IE7 zwei DIVs anstelle von Pseudoelementen verwenden.

Mix-Blend-Mode-Eigenschaft:

CSS hat eine Eigenschaft namens mix-blend-mode, die jedoch von Internet Explorer nicht unterstützt wird. Mit dieser Eigenschaft können Sie die Vordergrund- (Schriftfarbe) und Hintergrundfarben mischen, um verschiedene Effekte zu erzielen. Allerdings ist es, wie bereits erwähnt, aufgrund der eingeschränkten Browserunterstützung für dieses Szenario weniger praktisch.

Pseudo-Element-Ansatz:

Um den alternierenden Farbeffekt mithilfe von Pseudoelementen zu erzeugen, Fügen Sie ein :before- und :after-Pseudoelement in ein übergeordnetes Element mit einer relativen Position ein. Stellen Sie den Inhalt dieser Pseudoelemente auf den gewünschten Text ein und passen Sie deren Hintergrundfarben an. Durch Steuern der Breite des :after-Pseudoelements können Sie den Inversionseffekt erzielen.

Beispielcode:

.inverted-bar {
    position: relative;
}

.inverted-bar:before,
.inverted-bar:after {
    padding: 10px 0;
    text-indent: 10px;
    position: absolute;
    white-space: nowrap;
    overflow: hidden;
    content: attr(data-content);
}

.inverted-bar:before {
    background-color: aqua;
    color: red;
    width: 100%;
}

.inverted-bar:after {
    background-color: red;
    color: aqua;
    width: 20%;
}

html {
    font-size: 16px;
}
Nach dem Login kopieren
<div class="inverted-bar" data-content="Lorem ipsum dolor sit amet"></div>
Nach dem Login kopieren

Mit diesem Ansatz können Sie Folgendes erreichen Kehren Sie die Schriftfarbe je nach Hintergrundfarbe um und erzielen Sie so einen optisch ansprechenden Effekt in Ihren Webdesigns.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage