Partage
  • Partager sur Facebook
  • Partager sur Twitter

je ne parviens pas à centrer mon menu ^^'

Sujet résolu
    23 mars 2017 à 15:44:13

    Bonjour, n'ayant pas trouvé de réponse à mon problème sur les différents forums je créer mon propre sujet. Je suis actuellement entrain de développer un site web en local pour une petite association, j'ai récupéré puis modifier un code CSS pour mon menu déroulant horizontal ; mais j'ai un léger problème je n'arrive pas à le centrer. J'espère que vous pourrez m'aider, merci bien.

    Voilà le code de mon menu :

    <html>
        <head>
            <meta charset="utf-8" />
    		<link rel="stylesheet" type="text/css" href="mase.css">
            <title>MASE Nord-Pas-de-Calais Picardie</title>
        </head>
    
    <body>				
    
    <ul id="menu">
    
            <li>
                    <a href="#" >MASE NATIONAL</a>
    				<ul>
                            <li><a href="index.php">#</a></li>
                            <li><a href="index.php">#</a></li>
    							<ul>
    								<li><a href="index.php" >#</a></li>
    							</ul>
    						</li>
                    </ul>
            </li>
    		
    		<li>
                    <a href="#">VOTRE MASE</a>
    					<ul>
    							<li><a href="index.php" >#</a></li>
    					</ul>
            </li>
    		
            <li>
                    <li><a href="#">INFORMATIONS</a>
    					<ul>
    						<li><a href="index.php" >#</a></li>
    						<li><a href="index.php" >#</a></li>
    						<li><a href="index.php" >#</a></li>
    					</ul>
                    </li>
            </li>
    		
    		<li>
                    <a href="#">NOUS CONTACTER</a>
            </li>
            
    </ul>
    
    </body>
    </html>
    
    

    et voilà le fichier CSS lié : 

    /* MENU SITE */
    
    
    #menu, #menu ul /* Liste */     
    {
    		padding : 0; /* pas de marge intérieure */
            margin : 0; /* ni extérieure */
            list-style : none; /* on supprime le style par défaut de la liste */
            line-height : 40px; /* on définit une hauteur pour chaque élément */
            text-align : center; /* on centre le texte qui se trouve dans la liste */
    }
    
    #menu /* Ensemble du menu */
    {
    		width : 75%;
            font-variant : small-caps; /* on met affine la police du texte */
            font-family : FreeMono, monospace; /* on utilise la police FreeMono, et on ajoute monospace afin que l'ensemble des caractères est la même largeur */
            font-size : 18px; /* hauteur du texte : 12 pixels */
    }
    
    #menu a /* Contenu des listes */
    {
            display : block; /* on change le type d'élément, les liens deviennent des balises de type block */
            padding : 0; /* aucune marge intérieure */
            background : WindowFrame; /* couleur de fond */        
            color : white; /* couleur du texte */
            text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */
            width : 200px; /* largeur */
    }
    
    #menu li /* Elements des listes */      
    { 
            float : left; 
            /* pour IE qui ne reconnaît pas "transparent" */
            border-right : 1px solid #fff; /* on met une bordure blanche à droite de chaque élément */
    }
    
    /* IE ne reconnaissant pas le sélecteur ">" */
    html>body #menu li
    {
            border-right: 1px solid transparent ; /* on met une bordure transparente à droite de chaque élément */
    }
    
    #menu li ul /* Sous-listes */
    { 
            position: absolute; /* Position absolue */
            width: 200px; /* Largeur des sous-listes */
            left: -999em; /* Hop, on envoie loin du champ de vision */
    }
    
    
    #menu li ul li /* Éléments de sous-listes */
    {
            /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
            border-top : 1px solid #fff; /* on met une bordure blanche en haut de chaque élément d'une sous liste */
    }
    
    /* IE ne reconnaissant pas le sélecteur ">" */
    html>body #menu li ul li                
    {
            border-top : 1px solid transparent; /* on met une bordure transparente en haut de chaque élément */
    }
    
    #menu li ul ul 
    {
            margin    : -22px 0 0 144px ; /* On décale les sous-sous-listes pour qu'elles ne soient pas au dessus des sous-listes */ 
            /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
            border-left     : 1px solid #fff ; /* Petite bordure à gauche pour ne pas coller ... */      
    }
    
    /* IE ne reconnaissant pas le sélecteur ">" ... je me répète ;-) */
    html>body #menu li ul ul                
    {
            border-left     : 1px solid transparent ; /* on met une bordure transparente sur la gauche de chaque élément */
    }
    
    #menu a:hover /* Lorsque la souris passe sur un des liens */    
    {
            color: WindowFrame; /* On passe le texte en noir... */
            background: white; /* ... et au contraire, le fond en blanc */
    }
    
    #menu li:hover ul ul, #menu li.sfhover ul ul /* Sous-sous-listes lorsque la souris passe sur un élément de liste */
    {
            left: -999em; /* On expédie les sous-sous-listes hors du champ de vision */
    }
    
    #menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul  /* Sous-listes lorsque la souris passe sur un élément de liste ET sous-sous-lites lorsque la souris passe sur un élément de sous-liste */
    {
            left: auto; /* Repositionnement normal */
            min-height: 0; /* Corrige un bug sous IE */
    }



    -
    Edité par ArthurDemaziere 23 mars 2017 à 15:52:40

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2017 à 17:05:02

      Salut!

      Je viens de trouver un solution à ton problème, que je ne comprend pas trop d’ailleurs mais ça fonctionne !

      #menu /* Ensemble du menu */
      {
          width : 50%;
          font-variant : small-caps; /* on met affine la police du texte */
          font-family : FreeMono, monospace; /* on utilise la police FreeMono, et on ajoute monospace afin que l'ensemble des caractères est la même largeur */
          font-size : 18px; /* hauteur du texte : 12 pixels */
          margin: auto;
      }

      Ajout de margin : auto pour centrer et modification de witdh a 50% quand tu met au dessus ça ne fonctionne pas, c'est ce que je ne comprend pas voila, bonne soirée !
       

      • Partager sur Facebook
      • Partager sur Twitter
        23 mars 2017 à 18:32:47

        Bonjour,

        première chose : où as-tu trouvé ce code ? Ceci : /* pour IE qui ne reconnaît pas "transparent" */, ça date de teeeeellement longtemps, parce que la version de IE ciblée ici est la 6 (sortie en 2001, eh ui).

        Je te suggère de jeter un œil à un code propre, genre ici : http://www.frogweb.fr/menu-deroulant-horizontal/

        Et d'ailleurs cela résoudra probablement ton souci, en effet tu ne peux pas centrer parce que tu as utilisé float: left pour les li.

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          24 mars 2017 à 9:36:20

          Merci beaucoup de votre aide, ça m'a bien servi je vais donc fermer le sujet ;)

          • Partager sur Facebook
          • Partager sur Twitter
            24 mars 2017 à 13:19:24

            Bonne continuation :) !

            • Partager sur Facebook
            • Partager sur Twitter

            Pas d'aide concernant le code par MP, le forum est là pour ça :)

              24 mars 2017 à 15:10:43

              Re , je reviens vers vous après pas mal de modification j'aimerais savoir si sur le même modèle on peut changer la couleur des sous listes indépendamment du reste du menu ?

              /* MENU SITE */
              
              
              #menu, #menu ul /* Liste */     
              {
              		padding : 0; /* pas de marge intérieure */
                      margin : 0; /* ni extérieure */
                      list-style : none; /* on supprime le style par défaut de la liste */
                      line-height : 40px; /* on définit une hauteur pour chaque élément */
                      text-align : center; /* on centre le texte qui se trouve dans la liste */
              }
              
              #menu /* Ensemble du menu */
              {
              		width : 50%;
                      font-variant : small-caps; /* on met affine la police du texte */
                      font-family : FreeMono, monospace; /* on utilise la police FreeMono, et on ajoute monospace afin que l'ensemble des caractères est la même largeur */
                      font-size : 18px; /* hauteur du texte : 18 pixels */
              		margin : auto;
              }
              
              #menu a /* Contenu des listes */
              {
                      display : block; /* on change le type d'élément, les liens deviennent des balises de type block */
                      padding : 0; /* aucune marge intérieure */
                      background : linear-gradient(WindowFrame , white); /* couleur de fond */  
                      color : black; /* couleur du texte */
                      text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */
                      width : 160px; /* largeur */
              }
              
              #menu li /* Elements des listes */      
              { 
                      float : left; 
              }
              
              html>body #menu li
              {
                      border-right : 1px solid transparent ; /* on met une bordure transparente à droite de chaque élément */
              }
              
              #menu li ul /* Sous-listes */
              { 
              		background : yellow;
                      position : absolute; /* Position absolue */
                      width : 200px; /* Largeur des sous-listes */
                      left : -999em; /* Hop, on envoie loin du champ de vision */
              }
              
              #menu li ul ul 
              {
                      margin : -22px 0 0 144px ; /* On décale les sous-sous-listes pour qu'elles ne soient pas au dessus des sous-listes */       
              }
              
              #menu a:hover /* Lorsque la souris passe sur un des liens */    
              {
                      color: black; /* On passe le texte en noir... */
                      background : white; /* ... et au contraire, le fond en blanc */
              }
              
              #menu li:hover ul ul, #menu li.sfhover ul ul /* Sous-sous-listes lorsque la souris passe sur un élément de liste */
              {
                      left : -999em; /* On expédie les sous-sous-listes hors du champ de vision */
              }
              
              #menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul  /* Sous-listes lorsque la souris passe sur un élément de liste ET sous-sous-lites lorsque la souris passe sur un élément de sous-liste */
              {
                      left : auto; /* Repositionnement normal */
              }


               

              • Partager sur Facebook
              • Partager sur Twitter
                24 mars 2017 à 15:37:52

                Salut,

                la couleur des sous menus est indiquée ligne 44.

                • Partager sur Facebook
                • Partager sur Twitter
                Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                  24 mars 2017 à 16:01:10

                  Frogweb a écrit:

                  Salut,

                  la couleur des sous menus est indiquée ligne 44.

                  Bah j'aimerais bien que ça soit si simple, mais ça marche pas. Ça me donne ça j'ai mis en jaune pour tester justement :

                   

                  -
                  Edité par ArthurDemaziere 24 mars 2017 à 16:15:22

                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 mars 2017 à 16:22:53

                    Ok, je me suis planté... ^^

                    enlève cette ligne qui mets un background jaune sur ul et qui ne sert à rien.

                    La couleur de background des <a> est ligne 26.

                    Comme tu veux changer seulement celle des sous menu :

                    #menu ul a {
                      background:...;
                    }



                    • Partager sur Facebook
                    • Partager sur Twitter
                    Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                      24 mars 2017 à 17:53:32

                      (par contre tu as laissé les float: left… tu n'as plus besoin de centrer ?)

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Pas d'aide concernant le code par MP, le forum est là pour ça :)

                        27 mars 2017 à 8:59:08

                        Lamecarlate a écrit:

                        (par contre tu as laissé les float: left… tu n'as plus besoin de centrer ?)


                        C'est pour pouvoir aligner les éléments de la liste de gauche à droite
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mars 2017 à 15:23:55

                          Pour cela, tu as display: inline-block.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Pas d'aide concernant le code par MP, le forum est là pour ça :)

                            28 mars 2017 à 9:29:16

                            Oui c'est vrai mais ça fonctionne comme ça aussi
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 mars 2017 à 11:21:27

                              Ben ça ne te permet pas de centrer. Du coup je ne comprends plus ton besoin.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                28 mars 2017 à 11:30:18

                                Bah si je peux tout de même centrer mon menu ça agit juste sur les éléments de la liste qui sont considéré comme des blocks.

                                -
                                Edité par ArthurDemaziere 28 mars 2017 à 11:30:41

                                • Partager sur Facebook
                                • Partager sur Twitter

                                je ne parviens pas à centrer mon menu ^^'

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown