Help!!! problème de centrage menu

Fermé
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 - 11 janv. 2010 à 21:39
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 - 19 janv. 2010 à 16:39
Bonsoir.

Je n'arrive pas centrer mon menu animé (jquery) dans la div ("imageMenu").

Voici le code php (pages dynamiques):


$contenu .= '<div id="imageMenu">';
$contenu .= '<ul>';
$contenu .= '<div id="le_menu">';
$contenu .= '<li class="imageMenu_opt1"><a href="">Bague</a></li>';
$contenu .= '<li class="imageMenu_opt2"><a href="">Bracelet</a></li>';
$contenu .= '<li class="imageMenu_opt3"><a href="">Chapelet</a></li>';
$contenu .= '<li class="imageMenu_opt4"><a href="">Collier</a></li>';
$contenu .= '<li class="imageMenu_opt5"><a href="">Manchette</a></li>';
$contenu .= '</div>';
$contenu .= '</ul>';
$contenu .= '</div>';



Voici la partie css:

#imageMenu {
position: relative;
width: 1024px;
height: 301px;
overflow: hidden;
border: 2px solid grey;
}

#imageMenu ul {
display: block;
margin: 0 auto;
width: 512px;
height: 301px;
list-style: none;
border: 2px solid orange;
text-align: center;
}

#imageMenu ul li {
display: block;
float: left;
margin-left: auto;
margin-right: auto;
}

/*#le_menu{
position: relative;
width: 1024px;
height: 301px;
margin-left: auto;
margin-right: auto;
text-align: center;
}*/

#imageMenu ul li a {
text-indent: -150px;
background:#FFFFFF none repeats;
cursor:pointer;
display:block;
overflow:hidden;
width:80px;
height: 301px;
}

/*#le_menu{
width: 1024px;
left: 50%;
margin-left: 270px;
display: block;
margin: 0 auto;
width: 512px;
height: 301px;
}*/

#imageMenu ul li.imageMenu_opt1 a{
/*background: #ccc;*/
background: url(../images/type_bijoux/bague.png) no-repeat;
}

#imageMenu ul li.imageMenu_opt2 a{
/*background: #ccc;*/
background: url(../images/type_bijoux/bracelet.png) no-repeat;
}

#imageMenu ul li.imageMenu_opt3 a {
/*background: #ccc;*/
background: url(../images/type_bijoux/chapelet.png) no-repeat;
}

#imageMenu ul li.imageMenu_opt4 a{
/*background: #ccc;*/
background: url(../images/type_bijoux/collier.png) no-repeat;
}

#imageMenu ul li.imageMenu_opt5 a {
/*background: #ccc;*/
background: url(../images/type_bijoux/manchette.png) no-repeat;
}

.clear {
clear: both;
}



Merci pour votre aide.
A voir également:

42 réponses

Profil bloqué
11 janv. 2010 à 21:47
J'avais le même pb en html, et j'ai du englober mon menu d'une div et de mettre en CSS:
#div_qui_englobe_le_menu
{
float:left; /*ou center ou bien right*/
............


Je pense que tu as compris.
0
notobe Messages postés 1952 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 juillet 2011 213
11 janv. 2010 à 22:07
float:center n'existe pas !!
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
11 janv. 2010 à 21:55
attends j'essaye. Je te tiens au courant dans quelques minutes
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
11 janv. 2010 à 22:01
J'ai quelques difficultées à faire ce que tu me proposes. Enfin, j'ai compris ou je devais mettre le float. Mais j'ai déjà un float cela doit créer un conflit. Puis dans la div qui englobe le menu je dois mettre des hauteur et largeur et autre chose.....

Merci de ton aide.
0
Profil bloqué
11 janv. 2010 à 22:06
dans ton css tu as mis:
/*#le_menu{
position: relative;
width: 1024px;
height: 301px;
margin-left: auto;
margin-right: auto;
text-align: center;
}*/

Et
/*#le_menu{
width: 1024px;
left: 50%;
margin-left: 270px;
display: block;
margin: 0 auto;
width: 512px;
height: 301px;
}*/

Je comprend plus iren a ton code --' c'est pas très jolie a voir =p
dans ce que j'ai cité, tu as mis des commentaires : /* ton commentaire*/ a quoi ca sert ?!
Et aussi si tu reprend le même 'id' (le_menu) ca va pas allé !
0

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

Posez votre question
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
11 janv. 2010 à 22:10
Oui j'avais mis deux fois le_menu parce que j'avais essayé d'envelopper un div autour des li.
Mais cela n'avais pas marcher donc j'avais mis en commentaire au cas ou j'en aurais besoin.

Ne fais pas attention à ces commentaires.

Merci
0
notobe Messages postés 1952 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 juillet 2011 213
11 janv. 2010 à 22:14
Centrer un menu en position relative : mouais... Il vaudrait mieux choisir un autre type de positionnement

D'autre part, ceci n'est pas conforme :
<ul>';
$contenu .= '<div id="le_menu">';
$contenu .= '<li class="imageMenu_opt1"><a href="">Bague</a></li>';

Ce div n'a rien à faire là car on ne peut pas imbriquer des éléments de type block (or <ul> et <div> en sont tous les 2)

Et ça
#imageMenu ul li a {
text-indent: -150px;
background:#FFFFFF none repeats;

repeats n'existe pas non plus, il doit y avoir un s en trop.

Ce site serait-il en ligne ? Cela serait plus facile pour se faire une idée des solutions à proposer.
0
Profil bloqué
11 janv. 2010 à 22:16
oui, ce serai mieu.
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
11 janv. 2010 à 22:21
désolé mais non.

Kena-kaitani, lorsque tu dis de mettre un div autour du menu tu pensais à le faire comment??


Merci pour vos aides
0
Profil bloqué
12 janv. 2010 à 18:42
ben, au debut de ton menu tu met une div: <div id="son_nom" ...> et tu met: </div> a la fin de ton menu.
Et en css tu met:
#son_nom
{
float:center;
.....
}

Pourquoi tu ne veut pas nous filer ton site --
0
notobe Messages postés 1952 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 juillet 2011 213
12 janv. 2010 à 20:22
Sena : je répète : float:center n'existe pas !
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
12 janv. 2010 à 21:39
Bonsoir,

Sena kaitani, ce n'est pas que je ne veux pas te le filer mais je bosse en local. J'utilise le Easyphp et donc le serveur apache.

Voilà... je préfèrerai te donner un lien mais je suis dans l'incapacité.

Quelqu'un aurait une idée

Merci pour votre aide.
0
Profil bloqué
13 janv. 2010 à 15:20
'float' existe, mais c'est 'center' qui en marche pas, c'ets vrai sinon float:left; ou float: right; exist.
Il te suffie de mettre margin-left et margin-right pour pousser t'as div de la gauche et de la droite.
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
13 janv. 2010 à 20:54
Oui mais mon menu pourra être différent et donc le nombre de lien ne sera pas le même. Il faut que je rende cela générique.

Merci pour ton aide.
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
13 janv. 2010 à 21:28
Quelque soit mon menu, je voudrais que celui ci reste centré.

Merci pour votre aide
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
13 janv. 2010 à 21:46
je ne sais pas comment faire????!!!!!!

Merci
0
Profil bloqué
13 janv. 2010 à 22:47
essaye dans le html, tu encadre ton menu par par exemple
 <p align="center" > 
et tu le referme avec
</p>
a la fin du menu
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
15 janv. 2010 à 19:35
non ça ne marche pas??!!!!!

Je ne sais pas comment faire?????


Merci pour ton aide
0
Profil bloqué
15 janv. 2010 à 20:57
bah en css pousse le avec margin-left: 100px; et margin-right:100px; enfin tu met t'as valeur.
0
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
15 janv. 2010 à 21:07
mais ce n'est pas dynamique,..

peut-etre que si tu met un min-width:600px; (par exemple) puis margin:0auto; sur le ul, mais j'ai un doute.
Sinon si tu veux le faire à chaque fois centré,.. la solution certaine c'est js,..

tu fais une div de la largeur max du ul autour du ul,..

puis en jquery
var largeur_ul = $('#l_id_du_ul').width();
var largeur_max =  $('#l_id_du_div_autour');
var margin_du_ul : (largeur_max-largeur_ul)/2;
$('#l_id_du_ul').css({marginLeft:margin_du_ul});


0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
15 janv. 2010 à 21:27
Dans la deuxième ligne il ne faut pas mettre:

var largeur_max = $('#l'id_du_div_autour').width();

et pour la quatrième ligne ce n'est pas plutôt:

$('#l'id_du_ul').css({margin_left:margin_du_ul});
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
15 janv. 2010 à 21:36
Jona303, peux tu me détailler ton idée?

Tu me serais d'un grand secours parce que je galère depuis plusieurs jours.


Merci pour ton aide
0