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 :

Listes imbriquées - héritage CSS


Sujet :

CSS

  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut Listes imbriquées - héritage CSS
    Bonjour et déjà merci pour votre aide.

    Je débute, donc je teste pour asseoir mes connaissances et ma compréhension.
    Evidemment, je rencontre un problème et je me doute que ce n'est que le début ... !

    Si j'ai bien compris :

    (X)HTML
    1. tant <UL> que <LI> génèrent des éléments en "boîte" et non en "ligne" ;
    2. les éléments en "boîte" peuvent contenir d'autres éléments en "boîte" et/ou en "ligne" ;
    3. chaque <UL> est parent immédiat des <LI> qu'il contient directement et ancêtre des <UL> et <LI> qui seront ensuite imbriqués ;
    4. chaque <LI> est à son tour parent / ancêtre des <UL> et des <LI> de niveau inférieur qui y seront imbriqués.


    CSS
    1. une propriété "héritée" type color est automatiquement appliquée aux descendants ;
    2. une propriété "non héritée" type display n'est pas appliquée aux descendants sauf forçage via la valeur "inherit" quand elle est permise.


    Ouf !

    Quand je teste avec color, j'observe que
    • la propriété color appliquée à un <LI> de niveau donné n'affecte que ce <LI> et aucun des descendants qui y sont imbriqués, comme si l'héritage ne jouait pas ou qu'il n'y avait pas de descendance,
    • tandis qu'appliquée à un <UL> de niveau donné, elle affecte ce <UL> et tous ses descendants.


    Quand je teste avec dislay, j'observe que
    • la propriété display appliquée à un <LI> de niveau donné n'affecte que ce <LI> et n'empêche pas l'affichage des niveaux inférieurs comme s'ils n'en étaient pas descendants ;
    • tandis qu'appliquée à un <UL> de niveau donné, elle affecte ce <UL> et tous ses descendants.


    Donc, non pas "y a un bug", mais qu'est-ce qui m'a échappé à propos des <UL> et des <LI> , où est mon bug ?

    Je joins en annexe un exemple de code, avec une rubrique style imbriquée pour simplifier la consultation. Il suffit de jouer sur les classes et de mettre en remarque ou non pour tester.

    Merci pour vos explications qui me permettront de mettre les notions en place.

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonjour,

    Citation Envoyé par Hemgé Voir le message
    Quand je teste avec color, j'observe que
    • la propriété color appliquée à un <LI> de niveau donné n'affecte que ce <LI> et aucun des descendants qui y sont imbriqués, comme si l'héritage ne jouait pas ou qu'il n'y avait pas de descendance,
    • tandis qu'appliquée à un <UL> de niveau donné, elle affecte ce <UL> et tous ses descendants.


    Quand je teste avec dislay, j'observe que
    • la propriété display appliquée à un <LI> de niveau donné n'affecte que ce <LI> et n'empêche pas l'affichage des niveaux inférieurs comme s'ils n'en étaient pas descendants ;
    • tandis qu'appliquée à un <UL> de niveau donné, elle affecte ce <UL> et tous ses descendants.


    Donc, non pas "y a un bug", mais qu'est-ce qui m'a échappé à propos des <UL> et des <LI> , où est mon bug ?

    Je joins en annexe un exemple de code, avec une rubrique style imbriquée pour simplifier la consultation. Il suffit de jouer sur les classes et de mettre en remarque ou non pour tester.
    Dans l'exemple que tu donne menu1_niv1_d n'a pas d'enfant ...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <li class="menu1_niv1_d">produits 1</li>

    Tu verra bien la différence si tu fais :
    Code css : 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
            <li class="menu1_niv1_d">
                <ul class="menu1_niv2">
                    <li class="menu1_niv2_d">catégorie 11</li>
                        <ul class="menu1_niv3">
                            <li>article 111</li>
                            <li>article 112</li>
                            <li>article 113</li>
                            <li>article 114</li>
                            <li>article 115</li>
                        </ul>
                    <li class="menu1_niv2_d">catégorie 12</li>
                        <ul class="menu1_niv3">
                        </ul>
                    <li class="menu1_niv2_d">catégorie 13</li>
                        <ul class="menu1_niv3">
                        </ul>
                    <li class="menu1_niv2_d">catégorie 14</li>
                        <ul class="menu1_niv3">
                        </ul>
                    <li class="menu1_niv2_d">catégorie 15</li>
                        <ul class="menu1_niv3">
                        </ul>
                </ul>
    	</li>	
    Je ne réponds pas aux questions techniques par MP.

  3. #3
    Membre confirmé Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Points : 479
    Points
    479
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Tu verra bien la différence si tu fais :
    Je dirais même plus si tu fais ceci () :
    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
    26
    27
    28
    29
    <li class="menu1_niv1_d">
         <ul class="menu1_niv2">
              <li class="menu1_niv2_d">catégorie 11
                   <ul class="menu1_niv3">
                        <li>article 111</li>
                        <li>article 112</li>
                        <li>article 113</li>
                        <li>article 114</li>
                        <li>article 115</li>
                   </ul>
              </li>
              <li class="menu1_niv2_d">catégorie 12
                   <ul class="menu1_niv3">
                   </ul>
              </li>
              <li class="menu1_niv2_d">catégorie 13
                   <ul class="menu1_niv3">
                   </ul>
              </li>
              <li class="menu1_niv2_d">catégorie 14
                   <ul class="menu1_niv3">
                   </ul>
              </li>
              <li class="menu1_niv2_d">catégorie 15
                   <ul class="menu1_niv3">
                   </ul>
              </li>
         </ul>
    </li>
    Il n'y a donc pas de bug, juste une balise qui ne se ferme pas au bon endroit.
    Quand tu crées un sous-menu (ul), il doit être déclaré à l'intérieur de la balise li (entre <li> et </li>). Hors dans ton code, tu fermes la balise li avant de créer un nouveau sous-menu.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Effectivement, maintenant, c'est tout bon.

    Comme quoi il suffit de peu de choses !

    Un tout grand merci pour ce coup de clavier et de souris.

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

Discussions similaires

  1. Code CSS pour une liste et sous-listes imbriquées
    Par Diawar dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/08/2014, 23h17
  2. CSS et listes imbriquées
    Par LGnord dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/07/2010, 10h50
  3. Présentation dans des listes imbriquées
    Par Ghusse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/09/2005, 09h35
  4. [XHTML] Listes imbriquées valides ?
    Par Amon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/09/2005, 23h05
  5. [CSS] listes imbriquées et conformité W3C
    Par rapathonyk dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 25/07/2005, 09h40

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