Que signifie le sélecteur CSS ">" (plus grand que le signe)?

Par exemple:

div > p.some_class {
  /* Some declarations */
}

Que signifie exactement le signe >?

417
demandé sur BoltClock 2010-07-12 08:33:08

7 réponses

> est le combinateur enfant , parfois appelé à tort le combinateur descendant direct.1

Cela signifie que le sélecteur div > p.some_class sélectionne uniquement les paragraphes de .some_classqui sont imbriqués directement à l'intérieur de a div, et non les paragraphes qui sont imbriqués plus loin.

Une illustration:

<div>
    <p class="some_class">Some text here</p>     <!-- Selected [1] -->
    <blockquote>
        <p class="some_class">More text here</p> <!-- Not selected [2] -->
    </blockquote>
</div>

Ce qui est sélectionné et ce qui ne l'est pas:

  1. Sélectionné
    Ce p.some_class est situé directement à l'intérieur du div, par conséquent, une relation parent-enfant est établie entre les deux éléments.

  2. Pas sélectionné
    Ce p.some_class est contenu par un blockquote dans le div, plutôt que le div lui-même. Bien que ce p.some_class soit un descendant du div, ce n'est pas un enfant; c'est un petit-enfant.

    Par conséquent, alors que div > p.some_class ne correspondra pas à cet élément, div p.some_class le fera, en utilisant le combinateur descendant à la place.


1Beaucoup de gens vont en outre, pour l'appeler "enfant direct" ou "enfant immédiat", mais c'est complètement inutile (et incroyablement ennuyeux pour moi), car un élément enfant est immédiat par définition quoi qu'il en soit, donc ils veulent dire exactement la même chose. Il n'y a pas une telle chose comme un "indirecte de l'enfant".

597
répondu BoltClock 2016-10-07 13:01:32

> (plus grand-que signe) est un combinateur CSS.

Un combinateur est quelque chose qui explique la relation entre les sélecteurs.

Un sélecteur CSS peut contenir plusieurs sélecteurs simples. Entre les sélecteurs simples, nous pouvons inclure un combinateur.

Il y a quatre combinateurs différents dans CSS3:

  1. sélecteur descendant (Espace)
  2. sélecteur enfant ( > )
  3. sélecteur frère adjacent ( + )
  4. frère général sélecteur (~)

Note: < n'est pas valide dans les sélecteurs CSS.

entrez la description de l'image ici

Par exemple:

<!DOCTYPE html>
<html>
<head>
<style>
div > p {
    background-color: yellow;
}
</style>
</head>
<body>

<div>
  <p>Paragraph 1 in the div.</p>
  <p>Paragraph 2 in the div.</p>
  <span><p>Paragraph 3 in the div.</p></span> <!-- not Child but Descendant -->
</div>

<p>Paragraph 4. Not in a div.</p>
<p>Paragraph 5. Not in a div.</p>

</body>
</html>

Sortie:

entrez la description de l'image ici

Plus d'informations sur CSS Combinators

23
répondu Premraj 2018-03-07 10:22:16

Comme d'autres le mentionnent, c'est un sélecteur enfant. Voici le lien approprié.

Http://www.w3.org/TR/CSS2/selector.html#child-selectors

9
répondu Dagg Nabbit 2010-07-12 04:37:43

, Il correspond à p éléments avec la classe some_class sont directement sous un div.

6
répondu dan04 2010-07-12 04:35:18

Toutes les balises p avec la classe some_class qui sont les enfants directs d'une balise div.

2
répondu tschaible 2017-01-08 02:05:23

HTML

<div>
    <p class="some_class">lohrem text (it will be of red color )</p>    
    <div>
        <p class="some_class">lohrem text (it will  NOT be of red color)</p> 
    </div>
    <p class="some_class">lohrem text (it will be  of red color )</p>
</div>
CSS
div > p.some_class{
    color:red;
}

Tous les enfants directs qui sont <p> avec {[3] } obtiendraient le style appliqué à eux.

1
répondu suraj rawat 2017-01-08 02:07:08

(sélecteur enfant) a été introduit dans css2. div p{ } sélectionnez tous les éléments p défunte des éléments div, alors que la div > p ne sélectionne que des enfants p éléments, pas grand enfant, arrière petit enfant sur ainsi de suite.

<style>
  div p{  color:red  }       /* match both p*/
  div > p{  color:blue  }    /* match only first p*/

</style>

<div>
   <p>para tag, child and decedent of p.</p>
   <ul>
       <li>
            <p>para inside list. </p>
       </li>
   </ul>
</div>

Pour plus d'informations sur CSS ce [lectors et leur utilisation, consultez mon blog, sélecteurs css et sélecteurs css3

0
répondu Avinash Malhotra 2017-01-14 17:01:58