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 :

Héritage CSS et signe ">" dans les selectors


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut Héritage CSS et signe ">" dans les selectors
    Bonjour,

    Je ne comprends pas l'utilité du signe ">" dans ce code CSS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #menu ul.level1 ul, #menu >  ul.menu-liste ul.menu-liste {
        min-width: 450px;
    }
    L'un de vous pourrait-il m'expliquer son utilité et son usage ?

    A bientôt,

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut
    Le signe > indique Parent vers enfants
    ainsi cela permet de cibler très précisément ce qu'on désire.
    Ainsi sur un menu tel que:
    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
    <nav>
      <ul id="menu">
        <li><a href="#">Item 1</a>
          <ul>
            <li><a href="#">item 1.1</a></li>
            <li><a href="#">item 1.2</a></li>
          </ul>
        </li>
        <li><a href="#">Item 2</a>
          <ul>
            <li><a href="#">item 2.1</a></li>
            <li><a href="#">item 2.2</a></li>
          </ul>
        </li>
        <li><a href="#">Item 3</a>
          <ul>
            <li><a href="#">item 3.1</a></li>
            <li><a href="#">item 3.2</a></li>
          </ul>
        </li>
      </ul>
    </nav>
    Si on applique le css suivant dans cet ordre:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #menu {
    	width: 500px;				/* largeur pour centrer */
    	height: 100px;
    	margin: 0 auto;				/* on centre le menu dans nav */
    }
    #menu li {
    	display: block;
    }
    #menu > li {
    	float: left;
    }
    le premier applique display:block à TOUS les li
    Le deuxième cible uniquement les premier li directement parent de ul

    Cela permet aussi de s'affranchir complètement de id ou classe.
    Ainsi le même code:
    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
    <nav>
      <ul>
        <li><a href="#">Item 1</a>
          <ul>
            <li><a href="#">item 1.1</a></li>
            <li><a href="#">item 1.2</a></li>
          </ul>
        </li>
        <li><a href="#">Item 2</a>
          <ul>
            <li><a href="#">item 2.1</a></li>
            <li><a href="#">item 2.2</a></li>
          </ul>
        </li>
        <li><a href="#">Item 3</a>
          <ul>
            <li><a href="#">item 3.1</a></li>
            <li><a href="#">item 3.2</a></li>
          </ul>
        </li>
      </ul>
    </nav>
    pourra s'écrire:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nav > ul {
    	width: 500px;				/* largeur pour centrer */
    	height: 100px;
    	margin: 0 auto;				/* on centre le menu dans nav */
    }
    nav > ul li {
    	display: block;
    }
    nav > ul > li {
    	float: left;
    }

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211

  4. #4
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut
    Bonjour JefReb,

    Merci pour la clarté de ton explication ! C'est en effet très pratique et très efficace.

    Où puis-je trouver une documentation sur le sujet et qui peut-être ferait la présentation de l'utilisation d'autres signes ?

    Bonne journée,
    loblique

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Où puis-je trouver une documentation sur le sujet et qui peut-être ferait la présentation de l'utilisation d'autres signes ?
    Regarde les liens que j'ai mis dans ma réponse.

    Tu pourras trouver également la « Selectors Level 3 - W3C Recommendation ».

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

Discussions similaires

  1. Héritage css et js d'une IFRAME dans une IFRAME
    Par mkrzemin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 20/05/2011, 00h05

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