Pendant de nombreuses années, les flottations CSS ont été un élément complexe mais nécessaire dans la création de présentations de sites Web. Si votre conception appelait plusieurs colonnes, vous utilisiez des flottants. Le problème avec cette méthode est que, malgré l'incroyable ingéniosité démontrée par les concepteurs / développeurs Web dans la création de présentations de site complexes, les flottants CSS n'ont jamais été réellement conçus pour être utilisés de cette manière.
Bien que les flottants et le positionnement CSS occupent sans aucun doute une place importante dans la conception Web, de nouvelles techniques de mise en page, notamment CSS Grid et Flexbox, offrent désormais aux concepteurs Web de nouvelles façons de créer des présentations de site. Une autre nouvelle technique de mise en page qui montre beaucoup de potentiel est CSS Multiple Columns.
Les colonnes CSS existent depuis quelques années maintenant, mais le manque de prise en charge des navigateurs plus anciens (principalement les anciennes versions d'Internet Explorer) a empêché de nombreux professionnels du Web d'utiliser ces styles dans leur travail de production.
Avec la fin de la prise en charge de ces anciennes versions d’IE, certains concepteurs Web expérimentent maintenant de nouvelles options de mise en forme CSS, y compris les colonnes CSS, et constatent qu’ils ont beaucoup plus de contrôle sur ces nouvelles approches que sur les flottants.
Les bases des colonnes CSS
Comme son nom l'indique, CSS Multiple Columns (également appelé présentation CSS3 à plusieurs colonnes) vous permet de fractionner le contenu en un nombre défini de colonnes. Les propriétés CSS les plus fondamentales que vous utiliseriez sont:
- nombre de colonnes
- écart de colonne
Pour le nombre de colonnes, vous spécifiez le nombre de colonnes souhaité. L'espace entre les colonnes serait les gouttières ou l'espacement entre ces colonnes. Le navigateur prendra ces valeurs et divisera le contenu de manière égale dans le nombre de colonnes que vous spécifiez.
En pratique, un exemple courant de colonnes multiples CSS consiste à diviser un bloc de contenu textuel en plusieurs colonnes, comme ce que vous verriez dans un article de journal. Supposons que vous ayez le balisage HTML suivant (notez qu'à titre d'exemple, je ne fais que mettre le début d'un paragraphe, alors qu'en pratique, il y aurait probablement plusieurs paragraphes de contenu dans ce balisage):
Si vous avez ensuite écrit ces styles CSS:
.content {-moz-column-count: 3; -webkit-column-count: 3; nombre de colonnes: 3; -moz-colonne-gap: 30px; -webkit-colonne-gap: 30px; écart de colonne: 30px; }
Cette règle CSS diviserait la division «contenu» en 3 colonnes égales espacées de 30 pixels. Si vous vouliez deux colonnes au lieu de 3, il vous suffirait de changer cette valeur et le navigateur calculerait les nouvelles largeurs de ces colonnes pour diviser le contenu de manière égale. Notez que nous utilisons d’abord les propriétés avec le préfixe du vendeur, suivies des déclarations sans préfixe.
Aussi facile que cela soit, son utilisation de cette manière est discutable pour une utilisation de site Web. Oui, vous pouvez diviser un tas de contenu en plusieurs colonnes, mais cela n’est peut-être pas la meilleure expérience de lecture pour le Web, en particulier si la hauteur de ces colonnes tombe en dessous du «pli» de l’écran.
Les lecteurs devraient alors faire défiler de haut en bas pour lire le contenu complet. Néanmoins, le principe de CSS Columns est aussi simple que vous le voyez ici, et il peut être utilisé pour faire beaucoup plus que diviser le contenu de certains paragraphes - il peut en fait être utilisé pour la mise en page.
Mise en page avec des colonnes CSS
Dites que vous avez une page Web avec une zone de contenu comportant 3 colonnes de contenu. Il s’agit d’une présentation de site Web très typique, et pour réaliser ces 3 colonnes, vous devez normalement flotter les divisions qui se trouvent. Avec CSS à colonnes multiples, c’est beaucoup plus facile.
Voici un exemple de code HTML: