IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

que signifie '>' dans une règle CSS ?


Sujet :

CSS

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut que signifie '>' dans une règle CSS ?
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .blonde ul > li {
      ...
    }
    Merci !
    Arc

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 124
    Points : 44 922
    Points
    44 922
    Par défaut
    Bonjour,
    il s'agit d'un sélecteur d'enfant.

    Un petit exemple pour voir
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>Sélecteur Enfant</title>
    <style>
    div > span{
      color:blue;
    }
    </style>
    </head>
    <body>
      <div>
        <span>Texte bleu</span>
        <p><span>Texte non bleu</span></p>
      </div>
    </body>
    </html>

    Un petit lien pour tout comprendre Sélecteur d'enfant

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut
    li ton code CSS à l'envers et ca donne :
    tous les LI qui sont contenu dans un UL qui lui-même se trouve dans la classe .blonde

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 402
    Points : 23 785
    Points
    23 785
    Par défaut
    Plus précisément, par « enfant », on entend « descendant immédiat ». C'est-à-dire que, dans le cas présent, la clause s'appliquera si ta balise <li> est directement incluse dans ton bloc <ul>, mais sans être englobé par des balises intermédiaires.

    Autre exemple : la clause suivante :

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    div.couleur a { color: red }

    … colorera les liens <a> en rouge dans tous les blocs HTML suivants :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <!-- Cas numéro 1 -->
    <div class="couleur">
      <a href="#">Lien numéro 1</a>
    </div>
     
    <!-- Cas numéro 2 -->
    <div class="couleur">
      <p><a href="#">Lien numéro 2</a></p>
    </div>
     
    <!-- Cas numéro 3 -->
    <div class="couleur">
      <div>
        <a href="#">Lien numéro 3</a>
      </div>
    </div>
     
    <!-- Cas numéro 4 -->
    <div class="couleur">
      <span style="background-color: green"><a href="#">Lien numéro 4</a></span>
    </div>

    mais la clause

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    div.couleur > a { color: red }

    … ne s'appliquera qu'au premier cas.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Et pourquoi ? Car j'interprète
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    div.couleur > a { color: red }
    par tous les liens contenus dans une div de classe couleur...

  6. #6
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Points : 3 861
    Points
    3 861
    Billets dans le blog
    6
    Par défaut
    @laurentSc: non, comme le dit Obsidian, la règle FOO > BAR touche les éléments BAR directement enfants de FOO. Si on veut les descendants à tous les niveaux, il faut mettre FOO BAR.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    C'est une question de français car selon moi, dans l'exemple de Obsidian, tous les liens sont de niveau 1 (juste en-dessous) par rapport aux div...et si je me fie à la réponse de miltone, j'ai raison...La subtilité semble résider dans la définition de "enfant".

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 124
    Points : 44 922
    Points
    44 922
    Par défaut
    et si je me fie à la réponse de miltone, j'ai raison...
    malheureusement cette réponse n'est pas correcte ou du moins incomplète
    C'est une question de français car selon moi, dans l'exemple de Obsidian, tous les liens sont de niveau 1 (juste en-dessous) par rapport aux div
    Non, il s'agit de cibler les enfants directs et non les petits enfants éventuels, être père n'est pas la même chose qu'être grand père
    Dans l'exemple tous les A non pas un parent de type DIV et ayant la class couleur.

    Le parent direct, papa maman, est celui que l'on récupère avec parentNode en javascript.

    Exemple pour voir
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>Sélecteur Enfant</title>
    <style>
    div.couleur > span{
      color:blue;
    }
    </style>
    </head>
    <body>
      <div class="couleur">
        <span>Texte bleu</span>
        <p><span>Texte non bleu</span></p>
        <span>Texte bleu</span>
      </div>
    </body>
    <script>
    var i, nb, oSpans  = document.getElementsByTagName('SPAN');
    for( i=0, nb=oSpans.length; i <nb; i++){
      oSpans[i].innerHTML += ' [parent : ' +oSpans[i].parentNode.tagName +']';
    }
    </script>
    </html>

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Mea culpa, j'avais pas vu que dans les cas 2 à 4, les liens sont des petits-enfants de div...et non des enfants. Et merci pour les cours CSS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2009, 10h00
  2. Question existentielle : Que signifie X dans MAC oS X?
    Par oOoOuuhmAn dans le forum Apple
    Réponses: 8
    Dernier message: 03/04/2006, 11h37
  3. Que signifie log dans un algo ?
    Par cryptorchild dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 16/03/2006, 11h09
  4. que signifie "raw_" devant une fonction?
    Par raoulmania dans le forum MFC
    Réponses: 2
    Dernier message: 10/10/2005, 11h12
  5. Ne rentrer que des chiffes dans une stringgrid
    Par rvzip64 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/08/2005, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo