L'une des versions que vous avez posté, en fait, il fonctionne pour tous les navigateurs modernes (où les sélecteurs CSS niveau 3 sont pris en charge):
div ul:not(:first-child) {
background-color: #900;
}
Si vous avez besoin de soutenir les anciens navigateurs, ou si vous êtes gêné par l' :not
du sélecteur de limitation (il n'accepte qu'un simple sélecteur comme argument), alors vous pouvez utiliser une autre technique:
Définir une règle qui a une plus grande portée que ce que vous voulez et ensuite de "révoquer" il conditionnellement, en limitant sa portée à ce qui vous avez l'intention:
div ul {
background-color: #900; /* applies to every ul */
}
div ul:first-child {
background-color: transparent; /* limits the scope of the previous rule */
}
Lorsque la limitation de la portée de l'utilisation de la valeur par défaut pour chaque attribut CSS que vous définissez.