Probleme pour centrer une div en xhtml

Résolu
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je ne sais pas si ce peut de code suffit
mais je n'arrive pas a centre cela
voici le codage de la partie a centrer c'est un menu mis horizontalement

le xhtml
<div id="menuvertical">
<!--Contenu de la barre horizontale-->
				
<ul class="ongletverti"><!--Navigation par onglets-->
					
<li class="active">home</li>
<li><a href="#">about</a></li>
<li><a href="#">tools</a></li>
<li><a href="#">tutos</a></li>
<li><a href="#">contact</a></li>
<li><a href="#">contact</a></li>
<li><a href="#">contact</a></li>
<li><a href="#">contact</a></li>
</ul></div>


et le css

div#menuvertical
{
	height:42px;
	
}

ul.ongletverti
{
	height: 42px;
	margin: 0 ;
	padding:0;
	list-style-type: none ; /*Suppression de tous les effets sur les listes*/
}

ul.ongletverti li
{
	float:left; /*Pour que les listes s'affichent horizontalement*/
	margin-right: 11px;/*Espace entre les onglets*/
	line-height: 32px;/* On définit la hauteur de la ligne d'écriture*/
	height:42px;
	text-align:center;/* Centrage du texte*/
	background: url("image/menuhorizonout.png") no-repeat; /* Image de fond de l'onglet en mode onmouseout*/
}

ul.ongletverti li.active /*Paramètres de l'onglet actif (avec la flèche en-dessous)*/
{
	width:120px;
	display: block;
	float:left;
	font-family: "Minion Pro", Perpetua, sans-serif, serif; /*Choix des polices de caractères*/
	font-weight: bold; /*Mise en gras du contenu de l'onglet*/
	font-size: 20px; /*Taille du texte*/
	color: #3f3f3f;/*Choix de la couleur du texte*/
	background: url("image/menuhorizonactive.png") no-repeat; /*Image de fond de l'onglet lorsqu'il est actif*/
}


ul.ongletverti li a /*Paramètres des autres onglets*/
{
	display: block;
	width:120px;
	font-family: "Minion Pro", Perpetua ,sans-serif, serif;
	font-weight: bold;
	font-size: 20px;
	color: #e5e5e5 ;
}

ul.ongletverti li a:hover /*Paramètres des autres onglets avec un onmouseover*/
{
	width:120px;
	height: 42px;
	color:#3f3f3f;
	background: url("image/menuhorizonon.png"); /*Image de fond de l'onglet */ 
}


j'espère que vous pourrez m'aidez
merci d'avance

17 réponses

zikouf Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   1
 
Bon soir

Sa peut pas marcher.

Tu a mis ta balise <div id="menuvertical">

Et dans le css tu a mis

div#menuvertical
{
height:42px;

}

La se qu'il va faire c'est prendre une hauteur de 42 px

Je suis pas un asse du css mais tente plutôt sa.

div#menuvertical
{
center;

}

ou sinon tu ne le mette pas en css mais plutôt en html :
<div align="center"></div>
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
sa ne change rien :(
j'ai déjà tester de mettre

margin: auto;


la seul balise qui est réelement de l'effet sur le menu est :
"ul.ongletverti"

et elle contiens déjà un margin 0 et j'avais tester avec auto mais sa change rien
0
Bigfish72 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut, pour aligner un bloc :

div#menuvertical
{
margin-left:auto;
margin-right:auto;
}

et une structure comme ça doit marcher aussi je crois, à vérifier.

div#menuvertical
{
margin: 0 auto 0 auto;

}
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
sa ne change rien j'ai tester de le mettre dans div#menuvertical et sa ne change pas rien ne bouge
et dans ul.ongletverti quand je mes : margin-left:auto;
margin-right:auto; sa revient à la ligne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bigfish72 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   4
 
Tu utilises quoi comme navigateur ?
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
je teste avec firefox

pourquoi il faut que je teste avec les autre ?
car avec j'ai internet explorer 7, google chrome et safari et safari sur mon ipod touch
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

tes <li> flottent à gauche donc :
• {text-align} est sans effet ;

• {margin} est sans effet.

tu peux :
• soit laisser les <li> dans le flux mais les passer en {display:inline;} mais dans ce cas tu ne peux pas avoir de {display:block;} pour <a>, donc tu ne peux pas attribuer une taille fixe à <a> ;

• soit appliquer une taille fixe aux <a> et une largeur fixe à ta page, dans ce cas tu pourras ajouter des marges ou des espacements fixes de chaque côté du menu.

@zikouf : je comprends que tu veuilles aider mais quand tu ne sais pas ou n'es pas sûr, ne réponds pas !
div#menuvertical
{
center;
}

incorrect, ne fonctionnera jamais, ni dans cette vie, ni dans une autre, ça peut même nuire à une règle précédente.
<div align="center"></div>

on est en XHTML donc il n'y a pas d'attribut "center".
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
donc en résumé qu'es que je doit faire pour que sa reste horizontal et que sa ce centre ?
et pour
div#menuvertical
{
center;
}


et

<div align="center"></div>


je me disait bien sa n'existe pas center en xhtml
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
Donc en résumé qu'es que je doit faire pour que sa reste horizontal et que sa ce centre ?
est-ce que ta page et tes liens ont une largeur fixe ?
0
Bigfish72 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut,

je viens de tester ce que je t'avais donné et ça ne marchait pas car il est nécessaire de définir une largeur au div pour que ça marche : donc avec ce code, sur mon navigateur ça centre nickel :

div#menuvertical
{
margin-left:auto;
margin-right:auto;
width:800px;
}

Maintenant, oui ça fait une largeur fixe.

>par contre ce ne sont pas les float qui posent problème, ça ne change rien que l'on mettre ou non la liste (testé avec un texte perso)
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
non la page n'a pas de taille fixe mais une taille minimum de 1050px de largeur
le lien du menu oui je viens de le rajouté dans ul.ongletverti li car dans active, a, a:hover elle était définit donc la largeur est 120px
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
qu'on se comprenne bien, tu veux que tes onglets soit centré au milieu de la page ?
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
oui bien sur

je teste la solution de Bigfish72 ? ou pas
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
oui car si tes <a> ont une largeur fixe, tu peux définir une largeur fixe au container du menu.
mais il ne faut pas que le container du menu flotte à gauche.
0
Bigfish72 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   4
 
Si tu veux que tes onglets soient centrés dans le div, il te faut ajouter dans le css du div :

text-align:center;

Note que c'est le seul endroit où le center est autorisé. (css 2.1)


et oui tu peux tester ma solution en changeant la valeur de la largeur comme tu veux ;)
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
ok donc maintenant que me onglet on une taille fixe je fait sa

div#menuvertical
{
margin-left:auto;
margin-right:auto;
width:1060px;
} 


0
Bigfish72 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   4
 
Oui, ça doit marcher.

Et tu peux mettre :

div#menuvertical
{
margin-left:auto;
margin-right:auto;
width:1050px;
text-align:center;
}

si tu veux que tes éléments soient centrés dans ton bloc.
0
sob_12 Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   15
 
ok merci sa marche nickel
comme sa la page d'accueil sera peut être accessible ce soir je vous tien au courant
je vous invite sur mon site dans environ 1h ou 2 voir 3maxi le temps de réglé les éventuel problème
merci encore
0