centrer un menu. [css][resolu] - HTML/CSS - Programmation
Marsh Posté le 05-10-2005 à 23:24:15
bah tu connais la musique : ON VEUT DU CODE, donc file déjà ce que tu as, et un lien vers ce que tu as déjà produit serait un plus.
m'enfin tu connais la musique.
Marsh Posté le 05-10-2005 à 23:27:44
Voilà le code. le css est peut être pas super propre à cause de mes diférents tests :
le fichioer html :
Code :
|
le css correspondant :
Code :
|
Marsh Posté le 06-10-2005 à 11:38:07
J'espéres que quelqu'un aura une idée sur comment faire pour centrer mon menu sans rajouter de balise servant qu'a l'affichage et pour que ca marche quelque soit la résolution.
Marsh Posté le 06-10-2005 à 12:37:49
ul{
margin:0 auto;
}
(juste après ta declaration de UL, LI
Marsh Posté le 06-10-2005 à 12:45:48
Je vois pas de différence avec firefox 1.0.7. J'ai l'ensemble toujours calé à gauche. Je testerait chez moi ce soir avec la 1.5.
Mais bizarement sous IE, je me retrouve avec le second niveau de <ul> colé au bord droit du <ul> <li> extérieur. Trop fort IE.
Marsh Posté le 06-10-2005 à 23:09:06
firefox 1.6 alpha 1 (deer park) et firefox 1.5beta1
résultat idem : le menu reste calé à gauche au lieu d'être centré.
Visiblement, c'était pas ça la bonne solution.
Marsh Posté le 07-10-2005 à 11:49:48
Je viens de trouver l'info sur le net ici : http://www.allmyfaqs.com/faq.pl?Center_with_CSS
En fait, il fallait que je rajoute "display: table;" pour le <ul> extérieur. Avec cette caractéristique là, on a plus besoin de régler la taille de l'élément pour pouvoir le centrer en largeur vu que par défaut, il prendra la taille du contenu.
Bon, étape suivante : le mettre dans une autre couche de calque pour que le site descende pas dans la page quand on accéde au sous-menu. je reviendrais surement plustard avec des questions.
Marsh Posté le 07-10-2005 à 13:03:53
Mon menu est finis et tout marche comme voulu à un détail prés : IE6 ne l'a pas centré. Vivement la version 7 de ce navigateur.
Voilà le code auquel je suis arrivé :
Le css à peu prés nettoyé.
Code :
|
la page html (avec du texte qui permet de vérifier qu'il se décale pas à cause du menu )
Code :
|
Bon, je sais, les trois <br/> dans la page html, c'est pas génial, mais c'était juste pour vérifier si le menu s'affichait bien par dessus du texte. Et je voulais pas trop poluer le css.
A terme, les lignes "-moz-border-radius:10px;" et "-khtml-border-radius:10px" pouront disparaitre quand les navigateurs correspondant passeront au css3. De même pour les lignes "_display: inherit;" et "_position: static;" avec IE7 qui gérera (normalement) enfin les chôses comme il faut.
Marsh Posté le 05-10-2005 à 22:52:12
Voilà mon probléme, j'ai un menu à base de <ul> et <li>, le <ul> étant mis directement dans le body de la page.
Jusque que là, facile.
Dans le <ul>, j'ai plusieurs éléments <li> affiché à gauche les uns des autres. Ca j'y suis arrivé.
Mais maintenant j'aimerais que le menu soit centré en largeur et c'est là que je bloque. Visiblement, il faut mettre les marges droite et gauche en auto et donner une taille à l'élément qu'on veut centrer. Moi, je veux bien donner une taille au <ul> mais si je lui donne une taille trop grande, le menu ne semble pas centré et si je lui en met une trop petite, les <li> passent les uns sous les autres. (sic)
Y a moyen de réussir à centrer tout ça sans rajouter un div autour du menu qui ne servirait qu'a faire de la présentation? Fanchement, je trouverais domage de repartir dans de l'html de présentation alors que les css sont censé servir à éviter ça.
Message édité par omega2 le 07-10-2005 à 13:12:37