Bonjour,
Je suppose que la question a déjà été abordée, en parcourant les forums je n'ai pas trouvé de réponse ciblant exactement mon problème.
J'essaie de centrer horizontalement des div dans un div positionné en left.
Ex:
title et options sont positionnés en left, les optionN également. Le nombre d'options peut varier de 1 à 3.
Ce que je voudrais c'est centrer les optionN dans options quelque soit le nombre d'options.
Pour ce faire, je tente de fixer la largeur de title et de options, mais ça ne suffit pas. Je rajoute donc un calque supplémentaire :
Et voici les propriétés CSS :
Sauf que le width:auto; de centrage prend 100% de la largeur de options au lieu d'adapter sa largeur en fonction du contenu, c'est à dire en fonction du nombre d'options avec une largeur de 235px.
Le display:inline-block corrige le problème dans Firefox 3 uniquement et je sais que son utilisation est déconseillée.
Une idée ? je m'arrache les cheveux sur ce genre de problème et n'avance pas sur le reste
Merci,
A+ benjamin.
Modifié par bd.webdev (27 Feb 2009 - 15:02)
Je suppose que la question a déjà été abordée, en parcourant les forums je n'ai pas trouvé de réponse ciblant exactement mon problème.
J'essaie de centrer horizontalement des div dans un div positionné en left.
Ex:
<div class="global">
<div class="title"></div>
<div class="options">
<div id="option1" class="option"></div>
<div id="option2" class="option"></div>
<!--
.....
<div id="optionN" class="option"></div>
-->
</div>
</div>
title et options sont positionnés en left, les optionN également. Le nombre d'options peut varier de 1 à 3.
Ce que je voudrais c'est centrer les optionN dans options quelque soit le nombre d'options.
Pour ce faire, je tente de fixer la largeur de title et de options, mais ça ne suffit pas. Je rajoute donc un calque supplémentaire :
<div class="global">
<div class="title"></div>
<div class="options">
<div class="centrage">
<div id="option1" class="option"></div>
<div id="option2" class="option"></div>
<!--
.....
<div id="optionN" class="option"></div>
-->
</div>
</div>
</div>
Et voici les propriétés CSS :
.global {width:100%; margin:0 auto; text-align:center; overflow:hidden;}
.global .title {float:left; width:170px;}
.global .options {float:left; width:720px; margin:0 auto; text-align:center; overflow:hidden;}
.global .options .centrage {display:inline-block; width:auto; min-width:235px; margin:0 auto; text-align:center; overflow:hidden; clear:both;}
.global .options .option {float:left; width:235px; margin:0 auto; text-align:center; cursor:pointer;}
.global .options .option div {float:left;}
Sauf que le width:auto; de centrage prend 100% de la largeur de options au lieu d'adapter sa largeur en fonction du contenu, c'est à dire en fonction du nombre d'options avec une largeur de 235px.
Le display:inline-block corrige le problème dans Firefox 3 uniquement et je sais que son utilisation est déconseillée.
Une idée ? je m'arrache les cheveux sur ce genre de problème et n'avance pas sur le reste

Merci,
A+ benjamin.
Modifié par bd.webdev (27 Feb 2009 - 15:02)