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 :

Signification de la syntaxe .menu ul li a


Sujet :

CSS

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut Signification de la syntaxe .menu ul li a
    Bonjour,

    j'essaye de comprendre un code CSS existant. Je voudrais être sûr de raisonner correctement, donc je voudrais savoir si j'interprète correctement la syntaxe .menu ul li a : un élément a (lien html) fils d'un li, lui-même fils d'un ul, lui-même fils d'un élément de classe menu. Est-ce la bonne signification ?

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Pas tout à fait, à la place de fils de, il faudrait dire descendant de. Par exemple, si j'ai:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="menu">
        <ul>
            <li><a href="">toto</a></li>
            <li><span><strong><a href="">tata</a></strong></span></li>
        </ul>
        <div>
            <ul>
                <li><a href="">titi</a></li>
                <li><span><strong><a href="">tutu</a></strong></span></li>
            </ul>
        </div>
    </div>

    La règle s'appliquera à chacun des liens (toto, tata, titi, tutu). Pourtant dans le cas de "tata", le lien n'est pas un descendant direct de li (ce n'est pas un enfant de li, mais un enfant de strong).

    Pour exprimer fils de, il faudrait écrire:.menu > ul > li > a

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bien vu, CosmoKnacki.

    Par contre, j'ai peur que pour Laurent, tu sois "Didier l'embrouille" !!

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Raté Jérôme, les explications de CosmoKnacki sont très instructives...

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Il est mauvaise langue ce jreaux62.

  6. #6
    Invité
    Invité(e)
    Par défaut
    En fait, c'est moi, "Didier l'embrouille" !

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    J'ai un peu plus compliqué ; merci de me dire si j'ai bien compris :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    .menu li:hover > ul li:hover > ul
    on pointe un élément de type ul, fils d'un li que l'on survole et qui est descendant d'un ul fils d'un li survolé et descendant d'un élément de classe menu.
    Même si j'ai bien compris l'explication, une telle règle est extraordinairement compliquée...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Elle est surtout ridicule : on ne met pas 2 :hover !


    Par contre, on peut très bien avoir :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    .menu li > ul li:hover > a:after { ... }

    Je te laisse méditer là-dessus...
    Dernière modification par Invité ; 19/11/2016 à 23h18.

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Je sens que si je réfléchis trop à cette règle, je vais faire des cauchemars. En plus, pas moyen de la tester ; y a des ... !

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    La règle a beau être ridicule, les 2 :hover sont justifiés : si je survole le li du menu de niveau 0, le menu de niveau 1 apparaît et seulement si je survole le li qui est père d'une liste (menu de niveau 2), celle-ci apparaît.

    En fait le CSS complet est :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .menu li:hover > ul,
    .menu li:hover > ul li:hover > ul
    /*.menu li:hover > ul li > ul*/{
      display: block;
      /* propriétés suivantes mises sur le HOVER, bug sur IE7 */
      background:#FEFEFF; 
      border:solid 1px #48B;
    }]
    Apparemment le bug ne concerne pas que IE7 car je suis en IE11 et si je supprime les 2 propriétés, y a plus de background...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2013, 13h42
  2. [POO] Signification d'une syntaxe
    Par spaukensen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/02/2008, 17h32
  3. Signification de syntaxe PROGRAM
    Par Triste dans le forum Débuter
    Réponses: 2
    Dernier message: 09/11/2007, 12h01
  4. Bonne syntaxe Jump Menu + ASP
    Par delavega dans le forum ASP
    Réponses: 1
    Dernier message: 23/02/2007, 23h48
  5. [C#] Signification d'une syntaxe UserControl
    Par heavydrinker dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/08/2006, 10h21

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