2010-10-15 5 views
1

J'ai défini deux classes CSS qui définissent l'arrière-plan d'une image (illustré ci-dessous). L'un est un bloc jaune et l'autre est un bloc gris.Variable flottante Nombre de DIV au centre

.block-gray { background: url('grey.gif'); width: 15px; height: 3px; } 

alt text

.block-yellow { background: url('yellow.gif'); width: 15px; height: 3px; } 

alt text


Ce que je veux être en mesure de le faire est de définir un nombre variable de DIV en utilisant l'une des classes ci-dessus, et de les horizontalement empilé, et centré dans un plus grand conteneur.

Donc, si je définissais 3 blocs comme ceci:

<div> 
    <!-- The # of these is variable, and not necessarily fixed at 3 --> 
    <div class="block-yellow"></div> 
    <div class="block-yellow"></div> 
    <div class="block-grey"></div> 
<div> 

alors je les voudrais centrées dans le div extérieur, peu importe combien de divs intérieur il y a. Je peux utiliser float: gauche pour les empiler horizontalement, mais je ne suis pas sûr de savoir comment les garder centrés.

|           alt textalt textalt text           |

Des idées?

Merci.

Répondre

5
.container { text-align: center; } 
.block-yellow { display: inline-block; } 

et vous pouvez réinitialiser ce texte-align:

.block-yellow { text-align: left; } 
+0

Merci !! Travaillé parfait. – Steve

+1

N'oubliez pas que 'inline-block' a [support limité] (http://www.quirksmode.org/css/display.html) dans IE <8. –

0

bien, n'utilisez pas float: left; à la place, utiliser l'affichage: bloc et régler la div externe sous forme de texte-align: center

+0

Merci, mais comment display: block permet les divs à circuler horizontalement? – Steve

+1

Ce ne sera pas; vous avez besoin de "display: inline-block" (voir ma réponse) –

Questions connexes