814 votes

Qu'est-ce que le sélecteur CSS "+" (signe plus) signifie?

Par exemple:

p + p {
  /* Certaines déclarations */
}

Je ne sais pas ce que le + signifie. Quelle est la différence entre cela et simplement définir un style pour p sans + p ?

1 votes

En pratique, cela est surtout utile pour appliquer une marge ou un remplissage entre les éléments de liste de même nature, donc aucun cas spécial n'est requis pour le premier ou le dernier élément.

826voto

Thorarin Points 21538

Consultez les sélecteurs adjacents sur W3.org.

Dans ce cas, le sélecteur signifie que le style s'applique uniquement aux paragraphes directement suivant un autre paragraphe.

Un simple sélecteur p appliquerait le style à tous les paragraphes de la page.


Cela fonctionnera uniquement sur IE7 ou supérieur. Sur IE6, le style ne sera pas appliqué à aucun élément. Cela vaut également pour le combinateur >, soit dit en passant.

Voir aussi le tableau de compatibilité CSS dans Internet Explorer de Microsoft.

0 votes

J'ai trouvé utile de ne pas effondrer l'élément lorsqu'il est caché. Par conséquent, une manière plus appropriée de le masquer est d'utiliser visibility : hidden/visible au lieu de display : none/block. Voir cette référence.

14 votes

Quelle sera la différence entre p + p et p > p

15 votes

@MuhammadRizwan p > p signifie un p imbriqué, c'est-à-dire tout p qui se trouve directement en dessous d'un autre p, par exemple`

Ce paragraphe

`.

231voto

Matthew Vines Points 14425

C'est le sélecteur de frère adjacent.

De blog Splash of Style.

Pour définir un sélecteur adjacent CSS, le signe plus est utilisé.

h1+p {color:blue;}

Le code CSS ci-dessus formatera le premier paragraphe après (pas à l'intérieur) de tous les titres h1 en bleu.

h1>p sélectionne tout élément p qui est un enfant direct (première génération) à l'intérieur d'un élément h1.

  • h1>p correspond à

    (

    à l'intérieur de

    )

h1+p sélectionnera le premier élément p qui est un frère (au même niveau du dom) qu'un élément h1.

  • h1+p correspond à

    (

    à côté/après de

    )

3 votes

Je suis confus entre le signe plus et le signe supérieur. Si j'utilise h1>p au lieu de h1+p, est-ce que cela me donne le même résultat? Pourriez-vous expliquer un peu la différence entre eux?

94 votes

Dans vos exemples, h1>p sélectionne tout élément p qui est un enfant direct (première génération) d'un élément h1. h1+p sélectionnera le premier élément p qui est un frère (au même niveau du dom) d'un élément h1. h1>p correspond à, h1+p correspond à

1 votes

@MatthewVines tu devrais ajouter h1>p et h1+p à ta réponse

45voto

Gordon Gustafson Points 14778

"+" est le sélecteur de frère adjacent. Il sélectionnera tout p DIRECTEMENT APRÈS un p (pas un enfant ou un parent cependant, un frère).

12voto

Michael Morton Points 2786

Cela ferait correspondre n'importe quel élément p immédiatement adjacent à un élément 'p'. Voir : http://www.w3.org/TR/CSS2/selector.html

3voto

flo Points 315

Il sélectionne le prochain paragraphe et indente le début du paragraphe à gauche, comme vous le feriez dans Microsoft Word.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X