J'ai un div
tag contenant plusieursul
balises.
Je ne peux définir les propriétés CSS que pour la première ul
balise:
div ul:first-child {
background-color: #900;
}
Cependant, mes tentatives suivantes pour définir des propriétés CSS pour chaque autre ul
balise, sauf la première, ne fonctionnent pas:
div ul:not:first-child {
background-color: #900;
}
div ul:not(:first-child) {
background-color: #900;
}
div ul:first-child:after {
background-color: #900;
}
Comment puis-je écrire en CSS: "chaque élément, sauf le premier"?
la source
Cette solution CSS2 ("toute
ul
après l'autreul
") fonctionne également et est prise en charge par plus de navigateurs.Contrairement à
:not
et:nth-sibling
, le sélecteur de frère adjacent est pris en charge par IE7 +.Si JavaScript change ces propriétés après le chargement de la page, vous devriez regarder certains bogues connus dans les implémentations IE7 et IE8 de ceci. Voir ce lien .
Pour toute page Web statique, cela devrait fonctionner parfaitement.
la source
ul ul div ul
(où ces éléments sont des frères et sœurs), seul le deuxième ul sera sélectionné, car le dernier n'a pas deul
précédent pour luiPuisqu'il
:not
n'est pas accepté par IE6-8 , je vous suggère ceci:Vous choisissez donc chaque
ul
élément dans son élément parent, sauf le premier .Reportez-vous à l'article "Utile: Recettes du nième enfant" de Chris Coyer pour d'autres
nth-child
exemples .la source
Prend en charge IE7
la source
not(:first-child)
ne semble plus fonctionner. Au moins avec les versions les plus récentes de Chrome et Firefox.Essayez plutôt ceci:
la source
ul:not(:first-child)
signifie littéralement "toutul
élément qui n'est pas le premier enfant de son parent", donc il ne correspondra même pas au 1erul
s'il est précédé d'un autre élément (p
, en-tête, etc.). Au contraire,ul:not(:first-of-type)
signifie "toutul
élément sauf le 1erul
dans le conteneur". Vous avez raison de dire que OP avait probablement besoin de ce dernier comportement, mais votre explication est plutôt trompeuse.Vous pouvez utiliser n'importe quel sélecteur avec
not
la source
Je n'ai pas eu de chance avec certains des éléments ci-dessus,
C'était le seul qui fonctionnait vraiment pour moi
ul:not(:first-of-type) {}
Cela a fonctionné pour moi lorsque j'essayais que le premier bouton affiché sur la page ne soit pas affecté par une option de marge gauche.
ce fut l'option que j'ai essayé en premier, mais cela n'a pas fonctionné
ul:not(:first-child)
la source
Vous pouvez utiliser votre sélecteur avec
:not
comme ci-dessous, vous pouvez utiliser n'importe quel sélecteur à l'intérieur du:not()
Plus d'exemples
la source
Comme je l'ai utilisé,
ul:not(:first-child)
c'est une solution parfaite.Pourquoi est-ce parfait parce qu'en utilisant
ul:not(:first-child)
, nous pouvons appliquer CSS sur les éléments internes. Commeli, img, span, a
balises, etc.Mais lorsqu'il est utilisé d'autres solutions:
et
et
et
Celles-ci ne restreignent que le CSS de niveau ul. Supposons que nous ne pouvons pas appliquer CSS sur
li
`div ul + ul li '.Pour les éléments de niveau intérieur, la première solution fonctionne parfaitement.
etc ...
la source