5568 sujets

Sémantique web et HTML

bonjour

margin: auto est sensé centrer le menu mais là avec mon menu horizontal déroulant possédant des sous-menus, je n'y parviens pas et j'arrive par à le centrer en fonction de la page et de son contenu.

Quelqu'un saurait me dire la marche à suivre pour y arriver sur les différents nabvigateurs ?

D'avance merci pour votre aide

le menu est sur cette page : http://www.coeuraccords.com/CLCA/pages/accueil.html

voici le code css du menu
#menu {
	width: 850px;
	height : 30px;
	position: relative;
	marginr: auto;
	list-style : none;
	line-height : 30px; /* définit une hauteur pour chaque élément */
	font-family : Arial;
	font-size : 14px; /* hauteur du texte : 12 pixels */	
	z-index: 20;
}

#menu ul { /* Liste */     
	padding : 0; /* pas de marge intérieure */
	margin : 0; /* ni extérieure */
	list-style : none;
	line-height : 25px; /* définit une hauteur pour chaque élément */
}

#menu a { /* Contenu des listes */
	display : block; /* Les liens deviennent des balises de type block */
	padding : 0;
	color : #013082; /* couleur du texte */
	background	: #EAF2F5 ;
	border: 1px solid white;
	text-decoration : none;
}

#menu li { /* Éléments des listes */      
	float : left;
	width : 120px;
	background: #EAF2F5;
	text-align:center
}

#menu a.accueil:hover		{
	color		: white ;
	background	: #FA0400 ;
}#menu a.troupe:hover		{
	color		: white ;
	background	: #FCA800 ;
}#menu a.buto:hover		{
	color		: #FFC0CB ;
	background	: #FCFF00 ;
}#menu a.handicap:hover		{
	color		: white ;
	background	: #01BF2A ;
}#menu a.marionnette:hover		{
	color		: white ;
	background	: #013082;
}#menu a.spectacle:hover		{
	color		: white ;
	background	: #4B0082 ;
}#menu a.contact:hover		{
	color		: white ;
	background	: #8A2BE2 ;
}#menu a.accueil:active		{
	color		: #EAF2F5 ;
	background	: red ;
}#menu a.buto:active		{
	color		: #EAF2F5 ; 
	background	: black ;
}#menu a.troupe:active		{
	color		: #EAF2F5 ;
	background	: yellow ;
}#menu a.handicap:active		{
	color		: #EAF2F5 ;
	background	: green ;
}#menu a.marionnette:active		{
	color		: #EAF2F5 ;
	background	: blue ;
}#menu a.spectacle:active		{
	color		: #EAF2F5 ;
	background	: purple ;
}#menu a.contact:active		{
	color		: #EAF2F5 ;
	background	: grey ;
}#menu li ul { /* Sous-listes */
	position: absolute;
	width: 120px;
	left: -999em;
	z-index: 30;
}#menu ul li { /* Éléments des listes */      
	float : left;
	width : 120px;
	background: #EAF2F5;
	text-align:center
}#menu ul li ul { /* Sous-listes */
	position: absolute;
	width: 120px;
	left: -2em;
	z-index: 30;
}#menu ul li { /* (Sous-liste de Sous-listes) Éléments des listes */ 
	float:left; 
	margin-right:172px; 
	position:relative;
}#menu ul li ul li{ /* Sous-liste des Sous-listes */
	position:relative;
	margin-top: -1px;
	z-index:50;
}#menu li ul ul {
	margin: -20px 0 0 120px;
}#menu a:hover { /* Lorsque la souris passe sur un des liens */    
	color: black; /* On passe le texte en blanc... */
	background: #FFC0CB;
	font-weight : bold; /* texte en gras */
}#menu li:hover ul ul, #menu li.sfhover ul ul {
	left: -999em;
}#menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul {
	left: auto;
	min-height: 0;
}

Modifié par omzen (29 Jun 2010 - 00:04)
Salut,

Je ne sais pas si ça vient de moi, mais je ne comprends pas ta question...
Modifié par redkissifrott (24 Jun 2010 - 17:53)
Salut,

Ton menu est déjà centré. Peut-être faut-il supprimer un padding-left qui traîne et réajuster la largeur des différents blocs.
merci pour ton information, mais je n'ai aucun padding-left sur mon code css.

il y a seulement un margin right qui correspond aux sous-sous-menus.

quant au réajustement des autres blocks, ça ne change pas le probleme, mon menu reste décalé par rapport au block central.
Modifié par omzen (24 Jun 2010 - 19:39)
Re-salut,

Je n'avais pas compris le rapport avec z-index (et d'ailleurs il n'y en a pas, tu devrais changer le titre de ton sujet...).
Tu as bien, comme te le suggère Victor BRITO, un padding-left par défaut (dépendant du navigateur) sur ta <ul> de menu.
Il te suffit donc de rajouter à ton #menu un padding=0 et corriger le width (7*120=840 et non 850) pour que le centrage soit OK.
Bonjour,

le "marginr" c'est une faute de frappe ou c'est du copié/collé ? Si c'est le second cas, le problème vient surement de là.
omzen a écrit :
merci pour ton information, mais je n'ai aucun padding-left sur mon code css.

N'oublie pas que certains éléments, à commencer par ul, sont susceptibles d'avoir des marges ou des espacements par défaut, variables selon les navigateurs. Si tu souhaites en savoir plus, je te conseille de lire l'article de Raphaël sur le rendu par défaut des éléments HTML et de constater leur rendu par défaut sous ton navigateur (sous Firefox, par exemple, tu trouveras que l'élément ul a, par défaut, un padding-left de 40 pixels).
Merci Victor
Merci Laurie-Anne
Merci Redkissifrott
pour votre aide et votre indulgence.

En effet, padding=0 et rectification de la width du menu et le tour est... centré !

Erreurs éternelles de débutant. Merci d'avoir re-répété et surtout d'avoir pris le temps de me répondre.
Je vais maintenant pouvoir me confronter à d'autres problèmes Smiley cligne
Merci Victor pour tes liens sur le html ; je pense néanmoins que c'est hors de mon niveau. Un jour peut-être...

Coeur'dialement
bonsoir

mon menu est centré mais après vérification, il semblerait qu'internet explorer 8 n'intègre pas bien mon menu.

Sur les 7 étiquettes du menu, la dernière étiquette reste sans CSS. Menu et sous-menu restent visible avec des puces. Ci-joint capture d'écran. (code css en tête du présent topic)
upload/30480-Capture.jpg
Y aurait-il que je pourrais faire pour rectifier ce décalage ?

Merci pour vos renseignements... Smiley biggrin
salut
je ne sais pas si c'est la cause du problème, mais je pense qu'il y a un problème dans le code html de ton menu:
au niveau de Danse adaptée et au niveau de spectacles
salut
permet moi d'insister, tu as un problème au niveau de spectacles:
tu as mis:

<li>
   <a href="#" class="spectacle">Spectacles</a>
   <ul>
      <li><a href="./chorecologie.html" class="spectacle">chorécologie</a></li>
</li>
  </ul>

ce que tu dois mettre:

<li>
  <a href="#" class="spectacle">Spectacles</a>
  <ul>
     <li><a href="./chorecologie.html" class="spectacle">chorécologie</a></li>
  </ul>
</li>

quand j'ai changé ça le lien contact s'est mis sagement à côté des autres Smiley cligne
Modifié par eyos (29 Jun 2010 - 12:13)
Merci Eyos d'avoir insisté...

Comme ton pseudo l'indique, tu as l'œil !

L'ordre est important. Cela m'a échappé une fois de plus. Et tu as raison, ça marche du feu de dieu.

Si tu as internet explorer, peux-tu me dire si les sous-menus s'affichent correctement stp ?

Merci pour ton assistance Smiley biggrin
sur ie8 les sous menus s'affichent sous leur rubrique, sur ie7 les sous menus s'affichent sous leur rubrique avec un décalage vers la droite:
upload/30471-screen.jpg