Help!!! problème de centrage menu
tipi75
Messages postés
723
Statut
Membre
-
jona303 Messages postés 390 Statut Membre -
jona303 Messages postés 390 Statut Membre -
Bonsoir.
Je n'arrive pas centrer mon menu animé (jquery) dans la div ("imageMenu").
Voici le code php (pages dynamiques):
Voici la partie css:
Merci pour votre aide.
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:
- Help!!! problème de centrage menu
- Menu déroulant excel - Guide
- Canon quick menu - Télécharger - Utilitaires
- Windows 11 menu démarrer classique - Guide
- Windows 11 menu contextuel classique - Guide
- Activer bluetooth tv samsung menu caché ✓ - Forum TV & Vidéo
42 réponses
En considérant que ta div 'le_menu' fait 1024,et que tu met ton ul dans ta div 'le_menu' et pas l'inverse.. ;)
et tu peux virer le width de ton ul, comme ça pas de problème si tu rajoutes un li.. ;)
document.ready(function({
var largeur_ul=$('#le_menu ul').width();
$('#le_menu ul').css({marginLeft:(1024-largeur_ul)/2+"px"});
});
et tu peux virer le width de ton ul, comme ça pas de problème si tu rajoutes un li.. ;)
pfff, ça ne marche pas.
Tiens regarde mon code:
Css
Html
jquery
Merci de ton aide.
Tiens regarde mon code:
Css
#imageMenu {
position:relative;
width: 1024px;
height:301px;
padding: 0px;
overflow: hidden;
border: 2px solid orange;
}
#imageMenu ul {
position: relative;
width: 1024px;
height: 301px;
list-style: none;
margin: 0px;
padding: 0px;
display: block;
/*padding-left: 250px;*/
}
#imageMenu ul li {
float: left;
/*width: 95px;
display: block;
overflow: hidden;*/
}
#imageMenu ul li a {
text-indent: -150px;
background:#fff none repeat;
border-right: 2px solid #fff;
cursor:pointer;
display:block;
overflow: hidden;
width:80px;
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;
}
Html
$contenu .= '<div id="imageMenu">'; $contenu .= '<ul>'; $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 .= '</ul>'; $contenu .= '</div>';
jquery
<script type="text/javascript">
document.ready(function({
var largeur_ul=$('#imageMenu ul').width();
$('#imageMenu ul').css({margin-left:(1024-largeur_ul)/2+"px"});
});
</script>
Merci de ton aide.
oups j'ai été un peu vite:
$(document).ready
et pas
document.ready,..
sorry, si ca marche pas fait des alerts un peu partout.. pour voir jusque ou ça va.. ;)
$(document).ready
et pas
document.ready,..
sorry, si ca marche pas fait des alerts un peu partout.. pour voir jusque ou ça va.. ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et au fait tu appelles quand ton fichier jquery??
il faut l'appeller avant ta fonction $(document).ready évidemment..
il faut l'appeller avant ta fonction $(document).ready évidemment..
Ma console d'erreur me dit cela:
missing: after property id
la ligne pointée est:
var largeur_ul=$('#imageMenu ul').width();
Que veux tu dires quand tu dis avant la fonction $(document).ready....
Moi, j'ai placé le script javascript dans ma page html, dans le <head></head> puis le script se lance lors du chargement de la page.
Voilà....
missing: after property id
la ligne pointée est:
var largeur_ul=$('#imageMenu ul').width();
Que veux tu dires quand tu dis avant la fonction $(document).ready....
Moi, j'ai placé le script javascript dans ma page html, dans le <head></head> puis le script se lance lors du chargement de la page.
Voilà....
hum,.. as tu installé jquery ??
https://jquery.com/
tu dois appeller le fichier jquery, avant de faire tes scripts..
<script type="text/javascript" src="/js/jquery-1.3.1.min.js"></script>
https://jquery.com/
tu dois appeller le fichier jquery, avant de faire tes scripts..
<script type="text/javascript" src="/js/jquery-1.3.1.min.js"></script>
Bonjour Jona303,
J'appelle ce fichier:
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
Donc je ne devrais pas avoir de soucis, surtout que j'utilise le jquery pour autre chose (animations et effets).
Merci pour ton aide.
J'appelle ce fichier:
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
Donc je ne devrais pas avoir de soucis, surtout que j'utilise le jquery pour autre chose (animations et effets).
Merci pour ton aide.
humm,..
vraiment je ne vois pas ..
j'ai été vérifier un code similaire que j'ai fait pour un site et ça donne :
sans avoir d'erreurs...
et si tu vires le tout et que tu fais un alert de $('#imageMenu ul').width();
ou de faire $('#imageMenu>ul').width();
vraiment je ne vois pas ..
j'ai été vérifier un code similaire que j'ai fait pour un site et ça donne :
var large = $('#menu').width();
$('#second_nav').width(large);
sans avoir d'erreurs...
et si tu vires le tout et que tu fais un alert de $('#imageMenu ul').width();
ou de faire $('#imageMenu>ul').width();
Si ton erruer est appellée la : var largeur_ul=$('.sm').width();
Ce qui se trouve apres ne sera pas exécuté.
fais un peu
Ce qui se trouve apres ne sera pas exécuté.
fais un peu
document.ready(function({
//var largeur_ul=$('.sm').width();
alert("DEBUG"+$('.sm').width());
//$('.sm').css({marginLeft:(1024-largeur_ul)/2+"px"});
});
bon je vois en fait que j'ai pas toujours très bien lu tes messages, et que le code avait changé..
genre plus de $,...
commence par
si ça marche :
...
Si rien ne marche c'est que ton script n'est pas appellé au bon moment... mais le truc DOIT fonctionner !!!
genre plus de $,...
commence par
$('document').ready(function(){
alert('SAlut');
});
si ça marche :
$('document').ready(function(){
alert( "DEBUG"+$('.sm').width() );
});
...
Si rien ne marche c'est que ton script n'est pas appellé au bon moment... mais le truc DOIT fonctionner !!!
Non ça ne marche pas. Je ne comprend pas que cela ne marche pas, je met ton script:
$('document').ready(function(){
alert('SAlut');
});
dans le <head></head> de la page html.
$('document').ready(function(){
alert('SAlut');
});
dans le <head></head> de la page html.
en revanche j'ai fais:
<script type="text/javascript">
alert('SAlut');
</script>
et là ça marche.
Donc cela vient de cette ligne: $(document).ready(function()
Merci de ton aide
<script type="text/javascript">
alert('SAlut');
</script>
et là ça marche.
Donc cela vient de cette ligne: $(document).ready(function()
Merci de ton aide
ah!!!
Je crois que j'ai trouvé mon problème pour l'affichage. En fait, comme j'ai d'autre script en javascript je n'ai pas besoin de mettre $(document).ready(). Don j'ai essayé cette ligne:
alert( "DEBUG"+$('.sm').width() );
Il m'affiche DEBUG: null. Je ne comprend pas qu'il me trouve null alors que j'ai des images d'affichées.
Merci pour ton aide
Je crois que j'ai trouvé mon problème pour l'affichage. En fait, comme j'ai d'autre script en javascript je n'ai pas besoin de mettre $(document).ready(). Don j'ai essayé cette ligne:
alert( "DEBUG"+$('.sm').width() );
Il m'affiche DEBUG: null. Je ne comprend pas qu'il me trouve null alors que j'ai des images d'affichées.
Merci pour ton aide