Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann man Hintergrundfarben für „.parent'-Listenelemente mit dazwischen liegenden Nicht-.parent'-Elementen abwechseln?

Mary-Kate Olsen
Freigeben: 2024-11-06 22:59:03
Original
697 Leute haben es durchsucht

How to Alternate Background Colors for

Verwenden des :nth-child(even/odd) Selector with Class:

Sie möchten abwechselnde Hintergrundfarben anwenden, um Elemente mit dem aufzulisten „.parent“-Klasse. Allerdings werden die Farben derzeit zurückgesetzt.

Problem:
Die „.parent“-Elemente verhalten sich nicht wie erwartet, da in der Liste Nicht-.parent“-Elemente vorhanden sind .

Lösung:
Normalerweise kann das gewünschte Verhalten nicht nur mit dem :nth-child-Selektor erreicht werden. Sie können jedoch den allgemeinen Geschwisterkombinator (~) verwenden:

  1. Wählen Sie alle ungeraden „.parent“-Elemente aus und wenden Sie die „grüne“ Farbe an.
  2. Für jedes Nicht-“. parent“-Element, schalten Sie die Farben der folgenden „.parent“-Elemente mit ~.

CSS um Code:

.parent:nth-child(odd) {
    background-color: green;
}
.parent:nth-child(even) {
    background-color: red;
}

/* After the first non-.parent, toggle colors */
li:not(.parent) ~ .parent:nth-child(odd) {
    background-color: red;
}
li:not(.parent) ~ .parent:nth-child(even) {
    background-color: green;
}

/* After the second non-.parent, toggle again */
li:not(.parent) ~ li:not(.parent) ~ .parent:nth-child(odd) {
    background-color: green;
}
li:not(.parent) ~ li:not(.parent) ~ .parent:nth-child(even) {
    background-color: red;
}
Nach dem Login kopieren

Dieser Ansatz wechselt die Farben für eine begrenzte Anzahl „ausgeschlossener“ Nicht-.parent-Elemente und erzielt so das gewünschte Wechselmuster.

Das obige ist der detaillierte Inhalt vonWie kann man Hintergrundfarben für „.parent'-Listenelemente mit dazwischen liegenden Nicht-.parent'-Elementen abwechseln?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!