Maison > interface Web > tutoriel CSS > Comment basculer les couleurs avec les sélecteurs :nth-child (pair/impair) lorsque des éléments non parents existent ?

Comment basculer les couleurs avec les sélecteurs :nth-child (pair/impair) lorsque des éléments non parents existent ?

Linda Hamilton
Libérer: 2024-11-24 04:22:14
original
323 Les gens l'ont consulté

How to Toggle Colors with :nth-child(even/odd) Selectors When Non-Parent Elements Exist?

Sélecteur de nième enfant (pair/impair) avec problème de classe

Lors de l'implémentation de sélecteurs :ntième enfant (impair/pair) pour un liste basée sur les classes, il est courant de rencontrer des problèmes de réinitialisation des couleurs. Dans l'exemple fourni, les éléments étaient censés hériter des couleurs du texte, mais ils étaient réinitialisés à la place.

Ce problème se pose car : les sélecteurs nth-child (pair/impair) ciblent intrinsèquement tous les éléments enfants, indépendamment de classe ou d’autres attributs. Pour résoudre ce problème, le combinateur général de frères et sœurs ~ peut être utilisé.

Le concept consiste à basculer les couleurs des éléments .parent suivants après avoir rencontré des éléments non-.parent. Voici une description du CSS :

/* Initial even/odd coloring */
.parent:nth-child(odd) {
    background-color: green;
}

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

/* Toggle colors after first non-.parent */
li:not(.parent) ~ .parent:nth-child(odd) {
    background-color: red;
}

li:not(.parent) ~ .parent:nth-child(even) {
    background-color: green;
}

/* Toggle colors after second non-.parent */
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;
}
Copier après la connexion

Cette solution permet de basculer entre les couleurs même lorsque des éléments non-.parent sont présents. Cependant, il est crucial de noter que cette approche a des limites et ne doit être utilisée que pour un nombre limité d'éléments exclus.

En mettant en œuvre cette stratégie, vous pouvez appliquer efficacement les sélecteurs :nth-child(impair/pair) à listes basées sur les classes et obtenez le jeu de couleurs alternées souhaité, en garantissant que les éléments de la liste héritent des couleurs de leur contenu textuel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal