Sélecteur CSS pour autre que le premier enfant et le dernier enfant


105

Je crée un site Web très avancé. Ma question: est-il possible de sélectionner tous les autres enfants sauf le :first-childet le :last-child? Je sais qu'il y a un :not()sélecteur mais cela ne fonctionne pas avec plus d'un qui n'est pas entre parenthèses. Voici ce que j'ai:

#navigation ul li:not(:first-child, :last-child) {
    background: url(images/UISegmentBarButtonmiddle@2x.png);
    background-size: contain;
}

Vous êtes très courageux pour utiliser cela. Notez que cela ne fonctionnera que sur les navigateurs modernes et que cela ne fonctionnera certainement pas sur l'anti-navigateur que tout le monde utilise.
débarrassé

2
@Radu: "Je crée un site Web très avancé" Pas de surprise là-bas ...
BoltClock

1
@BoltClock, d'accord, je dis juste ... Un mot d'avertissement. Mais de toute façon, si la cible est le Safari iOS comme le nom de l'image l'indique, alors cela devrait être sûr.
débarrassé

1
Maintenant, je vois pourquoi cette question semble si familière ... stackoverflow.com/questions/7403129/combining-not-selectors
BoltClock

"anti-navigateur"? Est-ce le nouveau Google Ultron dont j'entends toujours parler?
Jonathan Dumaine

Réponses:


262

Essayez #navigation ul li:not(:first-child):not(:last-child).


VOTRE GÉNIAL! Merci!
Daniel

1
rofl, la stupidité de moi not()même en essayant cela avant de googler: P genius
SidOfc

1
C'est faux: not (A and B)n'est pas égal à (not A) and (not B), ce serait plutôt (not A) or (not B). Ça ne marche pas.
Hibou57

2
Non, ce que Salman Abbas a dit est juste. Vous pensez à la virgule; #navigation ul li: not (: first-child), #navigation ul li: not (: last-child)
user847074

20

Bien sûr, cela fonctionnera, il vous suffit d'utiliser deux sélecteurs «non».

#navigation ul li:not(:first-child):not(:last-child) {

Il continuera sur toute la ligne après le premier, en disant "pas le premier enfant" et "pas le dernier enfant".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.