Faire flotter automatiquement deux colonnes l'une à côté de l'autre n'est actuellement possible qu'avec les CSS/HTML. Il existe deux façons d'y parvenir :
Méthode 1 : Quand il n'y a pas de texte continu, juste beaucoup de paragraphes sans rapport entre eux :
Faites flotter tous les paragraphes vers la gauche, donnez-leur la moitié de la largeur de l'élément qui les contient et, si possible, définissez une hauteur fixe.
<div id="container">
<p>This is paragraph 1. Lorem ipsum ... </p>
<p>This is paragraph 2. Lorem ipsum ... </p>
<p>This is paragraph 3. Lorem ipsum ... </p>
<p>This is paragraph 4. Lorem ipsum ... </p>
<p>This is paragraph 5. Lorem ipsum ... </p>
<p>This is paragraph 6. Lorem ipsum ... </p>
</div>
#container { width: 600px; }
#container p { float: left; width: 300px; /* possibly also height: 300px; */ }
Vous pouvez également insérer des clearer-divs entre les paragraphes pour éviter de devoir utiliser une hauteur fixe. Si vous voulez deux colonnes, ajoutez un clearer-div entre deux et deux paragraphes. Cela permettra d'aligner le haut des deux paragraphes suivants, ce qui donnera un aspect plus ordonné. Exemple :
<div id="container">
<p>This is paragraph 1. Lorem ipsum ... </p>
<p>This is paragraph 2. Lorem ipsum ... </p>
<div class="clear"></div>
<p>This is paragraph 3. Lorem ipsum ... </p>
<p>This is paragraph 4. Lorem ipsum ... </p>
<div class="clear"></div>
<p>This is paragraph 5. Lorem ipsum ... </p>
<p>This is paragraph 6. Lorem ipsum ... </p>
</div>
/* in addition to the above CSS */
.clear { clear: both; height: 0; }
Méthode 2 : Lorsque le texte est continu
Plus avancé, mais c'est possible.
<div id="container">
<div class="contentColumn">
<p>This is paragraph 1. Lorem ipsum ... </p>
<p>This is paragraph 2. Lorem ipsum ... </p>
<p>This is paragraph 3. Lorem ipsum ... </p>
</div>
<div class="contentColumn">
<p>This is paragraph 4. Lorem ipsum ... </p>
<p>This is paragraph 5. Lorem ipsum ... </p>
<p>This is paragraph 6. Lorem ipsum ... </p>
</div>
</div>
.contentColumn { width: 300px; float: left; }
#container { width: 600px; }
En ce qui concerne la facilité d'utilisation : aucune de ces solutions n'est vraiment facile pour un client non technique. Vous pouvez essayer de lui expliquer comment faire correctement, et lui dire pourquoi. Apprendre les bases du HTML n'est pas une mauvaise idée, si le client est amené à mettre à jour les pages Web via un éditeur WYSIWYG à l'avenir.
Vous pouvez aussi essayer d'implémenter une solution Javascript qui compte le nombre total de paragraphes, les divise en deux et crée des colonnes. Cette solution se dégradera également pour ceux qui ont désactivé JavaScript. Une troisième option est de faire en sorte que toute cette action de division en colonnes se produise sur le serveur, si c'est possible.
(Méthode 3 : Module de mise en page multi-colonnes CSS3)
Vous pouvez lire sur le Façon de faire en CSS3 mais ce n'est pas vraiment pratique pour un site Web de production. Pas encore, en tout cas.