Heim > Web-Frontend > CSS-Tutorial > Warum funktioniert mein CSS-Selektor :odd und :even nicht wie erwartet?

Warum funktioniert mein CSS-Selektor :odd und :even nicht wie erwartet?

DDD
Freigeben: 2024-12-29 19:22:16
Original
835 Leute haben es durchsucht

Why Doesn't My CSS :odd and :even Selector Work as Expected?

Gerade und ungerade Elemente formatieren

Mit den CSS-Pseudoklassen :odd und :even können Sie Stile auf ungerade und gerade Instanzen von Elementen in einer Liste anwenden. Bei der Verwendung dieser Pseudoklassen in Verbindung mit einer Basisstilregel tritt jedoch ein Problem auf, das zu unerwarteten Ergebnissen führt.

Bedenken Sie beispielsweise den folgenden CSS- und HTML-Code:

li { color: blue }
li:odd { color:green }
li:even { color:red }
Nach dem Login kopieren
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
Nach dem Login kopieren
Nach dem Login kopieren

Vielleicht erwarten Sie, dass dadurch eine Liste mit abwechselnden Farben erstellt wird, aber stattdessen sind alle Listenelemente blau.

Lösung

Zu lösen In diesem Fall können Sie die n-te-Kind-Pseudoklasse anstelle von :odd und :even verwenden. Die Syntax für das n-te Kind lautet wie folgt:

li:nth-child(n) {...}
Nach dem Login kopieren

wobei n die Position des Elements innerhalb seines übergeordneten Elements darstellt.

Um ungerade und gerade Listenelemente zu formatieren, können Sie Folgendes verwenden CSS:

li {
    color: black;
}
li:nth-child(odd) {
    color: #777;
}
li:nth-child(even) {
    color: blue;
}
Nach dem Login kopieren
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
Nach dem Login kopieren
Nach dem Login kopieren

Dies führt zu einer Liste mit schwarzen Listenelementen, wobei jedes andere Element abwechselnd grau (#777) und ist blau.

Das obige ist der detaillierte Inhalt vonWarum funktioniert mein CSS-Selektor :odd und :even nicht wie erwartet?. 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