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 :

Menu déroulant à 3 sous-niveaux


Sujet :

CSS

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut Menu déroulant à 3 sous-niveaux
    Bonjour,

    j'essaye de faire un menu déroulant avec 3 sous niveaux, jusqu'au premier tout fonctionne mais pour le 3è sa ne fonctionne pas.
    Voici mon code (ce n'est qu'un test) :
    le html
    Code : 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
     
    <ul>
    	<li>
    		<a href="#">Partie 1</a>
    		<ul>
    			<li><a href="#">Sous Menu 1</a></li>
    				<ul>
    					<li><a href="#">Sous Sous Menu 1</a></li>
    					<li><a href="#">Sous Sous Menu 2</a></li>
    				</ul>
    			<li><a href="#">Sous Menu 2</a></li>
    			<li><a href="#">Sous Menu 3</a></li>
    		</ul>
    	</li>
     
    	<li>
    		<a href="#">Partie 2</a>
    		<ul>
    			<li><a href="#">Sous Menu 1</a></li>
    				<ul>
    					<li><a href="#">Sous Sous Menu 1</a></li>
    					<li><a href="#">Sous Sous Menu 2</a></li>
    				</ul>
    			<li><a href="#">Sous Menu 2</a></li>
    			<li><a href="#">Sous Menu 3</a></li>
    		</ul>
    	</li>
    </ul>
    le css :
    Code : 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
    ul
    {
    	background-color:red;
    }
    ul li ul li
    {
    	background-color:green;
    	display:none;
    }
    ul li:hover ul li
    {
    	display:block;
    }
    
    ul li ul li ul li /* ne fonctionne pas*/
    {
    	display:none;
    }
    j'ai essayé avec l'attribut visibility, mais sa fonctionne pas non plus.
    Si je pouvais mettre une class dans les ul sa réglerait le problème, mais malheureusement, je ne peux pas.

    Pourriez-vous m'aider à résoudre ce problème ?

    Merci d'avance

  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 : 39
    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 748
    Points
    3 748
    Par défaut
    Bonjour,

    Cette structure :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		<ul>
    			<li><a href="#">Sous Menu 1</a></li>
    				<ul>
    					<li><a href="#">Sous Sous Menu 1</a></li>
    					<li><a href="#">Sous Sous Menu 2</a></li>
    				</ul>
    		</ul>

    Est incorrecte, UL ne peut avoir que des LI comme enfants directs.

    Code xhtml : 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
    30
     
    <ul>
    	<li>
    		<a href="#">Partie 1</a>
    		<ul>
    			<li><a href="#">Sous Menu 1</a>
    				<ul>
    					<li><a href="#">Sous Sous Menu 1</a></li>
    					<li><a href="#">Sous Sous Menu 2</a></li>
    				</ul>
    			</li>
    			<li><a href="#">Sous Menu 2</a></li>
    			<li><a href="#">Sous Menu 3</a></li>
    		</ul>
    	</li>
     
    	<li>
    		<a href="#">Partie 2</a>
    		<ul>
    			<li><a href="#">Sous Menu 1</a>
    				<ul>
    					<li><a href="#">Sous Sous Menu 1</a></li>
    					<li><a href="#">Sous Sous Menu 2</a></li>
    				</ul>
    			</li>
    			<li><a href="#">Sous Menu 2</a></li>
    			<li><a href="#">Sous Menu 3</a></li>
    		</ul>
    	</li>
    </ul>

    Ensuite, tu peux jouer sur le sélecteur des enfants directs:
    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
     
    ul
    {
    	background-color:red;
    }
    ul li ul li
    {
    	background-color:green;
    	display:none;
    }
    ul li:hover > ul > li /* Tu sélectionnes les li de 2eme niveau */
    {
    	display:block;
    }
     
    ul li > ul > li:hover > ul > li /* Tu sélectionnes les li de 3eme niveau */
    {
    	display:block;
    }

  3. #3
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    merci Macmillenium sa fonctionne

  4. #4
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    Bien que le menu fonctionne parfaitement avec firefox et IE 7 et 8, il ne fonctionne pas avec IE 6,
    j'ai lu qu'il fallait passer par le javascript + css mais j'y connais rien en javascript.
    Avez-vous une idée pour réaliser cela ?

  5. #5
    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 : 39
    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 748
    Points
    3 748

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

Discussions similaires

  1. Menu déroulant apparaît sous un autre élément
    Par SirTurbo dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 24/03/2009, 19h06
  2. menu déroulant (avec sous menus)
    Par devlopassion dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 14/04/2008, 12h55
  3. Menu déroulant horizontal sous ie6
    Par Kerweb dans le forum Mise en page CSS
    Réponses: 18
    Dernier message: 09/10/2007, 12h18
  4. Mon menu déroulant "wizz" sous IE
    Par koskoz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/06/2007, 12h10
  5. Réponses: 6
    Dernier message: 21/05/2007, 21h45

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