La propriété columns est un excellent choix pour cette tâche, puisque vous pouvez le rendre très réactif.
http://jsfiddle.net/FmV9k/1/ (préfixes non inclus)
.checkboxes {
columns: 4 8em;
}
<ul class="checkboxes">
<li><label><input type="checkbox" name="text1" value="value1" />Text 1</label></li>
<li><label><input type="checkbox" name="text2" value="value2" />Text 2</label></li>
<li><label><input type="checkbox" name="text3" value="value3" />Text 3</label></li>
<li><label><input type="checkbox" name="text4" value="value4" />Text 4</label></li>
<li><label><input type="checkbox" name="text5" value="value5" />Text 5</label></li>
<li><label><input type="checkbox" name="text6" value="value6" />Text 6</label></li>
<li><label><input type="checkbox" name="text7" value="value7" />Text 7</label></li>
<li><label><input type="checkbox" name="text8" value="value8" />Text 8</label></li>
</ul>
Nous avons spécifié 4 colonnes, mais ils doivent être un minimum de 8em large. S'il n'y a pas assez de place pour les 4 colonnes, alors il enlèvera les colonnes si nécessaire pour s'assurer que la largeur minimum est atteinte.
La modification de l'affichage en mode de blocage n'est pas nécessaire en cas de flottement, car le fait de flotter modifie automatiquement la propriété d'affichage de l'élément. – cimmanon
Cela peut être vrai, mais j'aime bien m'assurer que l'élément est correctement positionné sur un bloc au cas où. Compte tenu de mon expérience de développement pour IE, il est préférable d'être précis quand il s'agit de ces choses. – Axel
Ça a marché! merci à vous tous :) – h3ader