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.
/* 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
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 !
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).
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 */
}
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
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.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)