2009-10-18 6 views
1

Existe-t-il un moyen de répartir les éléments (ex: <li> à l'intérieur d'un <ul>), dans un div?Étaler des éléments sur une div fixe de largeur fixe?

EG: J'ai 3 éléments, donc ils ont tous obtenir 30%

EG: J'ai 5 éléments, donc ils obtiennent 20%

Quelle est la meilleure façon de le faire?

+0

3 éléments, * 33 *% chacun? –

Répondre

1

html, 
 
body { 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 
ul.flatList { 
 
    list-style: none; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
ul.flatList li { 
 
    width: 33.3%; 
 
    display: inline; 
 
    float: left; 
 
    text-align: center; 
 
}
<ul class="flatList"> 
 
    <li>left</li> 
 
    <li>middle</li> 
 
    <li>right</li> 
 
</ul>

+2

Je pense qu'il ne veut pas avoir les 33.3% codés en dur, mais la largeur devrait s'adapter dynamiquement au nombre d'éléments li. –

+0

c'est ce que je veux oui, mais je ne sais pas comment – tarnfeld

+0

Vous pourriez juste utiliser un peu de Javascript. Vérifiez la largeur du conteneur, puis définissez les largeurs de chaque div. –

0

Définissez une largeur explicite des éléments enfants et faites-les flotter à gauche ou à droite en conséquence. nouveau

0
display: inline-table; 

, mon b à répondre à seulement 5 ans après a posé la question,

mais j'ai découvert cette solution (élégante) de nuit et de le partager pour l'amour de référence, et le bien-être général et la connaissance.

Questions connexes