Générateur CSS multi-colonnes, gratuit

Créez des mises en page multi-colonnes façon journal avec aperçu en direct. Ajustez colonnes, espace, style et largeur du filet.

Aperçu
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.
Code CSS

    

Ce qu'est la mise en colonnes CSS

Le module CSS Multi-column Layout (la spécification W3C « CSS Multi-column Layout Module Level 1 ») redistribue automatiquement le contenu d'un même élément sur deux colonnes ou plus, comme l'imprimerie des journaux et magazines traite les textes longs depuis des siècles. Vous déclarez combien de colonnes vous voulez (ou la largeur souhaitée de chaque colonne) et le navigateur répartit le contenu de haut en bas, de gauche à droite, en équilibrant le nombre de lignes pour que chaque colonne se termine à peu près à la même hauteur. Le module est devenu Candidate Recommendation du W3C en avril 2011 et s'est déployé de manière utilisable dans les navigateurs entre Firefox 3.5 (juin 2009) et IE 10 (octobre 2012). C'est une fonctionnalité de plate-forme web établie depuis plus d'une décennie. Contrairement à Flexbox ou Grid (qui alignent des enfants distincts sur des positions connues) la mise en colonnes traite le contenu comme un flux continu unique que le navigateur découpe en colonnes en fonction de la hauteur disponible.

Quand les colonnes CSS sont le bon outil

column-count vs column-width, la distinction la plus importante

Deux façons de spécifier les colonnes, et le choix compte pour le responsive. column-count: 3 code en dur trois colonnes, quelle que soit la largeur de la fenêtre, le navigateur produit exactement trois colonnes qui rétrécissent à mesure que le conteneur se resserre. Sur un téléphone, trois colonnes deviennent d'illisibles fines bandes. column-width: 250px demande au contraire des colonnes « d'au moins 250 pixels de large » ; le navigateur calcule combien tiennent dans le conteneur et redistribue automatiquement quand la fenêtre change. Les grands écrans obtiennent beaucoup de colonnes, les petits une seule ou peu, sans la moindre media query. Le motif combiné est la bonne pratique moderne : columns: 250px 4 (raccourci pour column-width plus column-count) signifie « colonnes de 250 px de large, mais jamais plus de 4 ». Le navigateur produit 4 colonnes sur un grand bureau, moins sur une tablette, une seule sur un téléphone, automatiquement responsive. La plupart du CSS de production utilise cette forme combinée pour sa robustesse.

Contrôler où le contenu se coupe

Par défaut, le navigateur coupe les colonnes là où il en arrive, ce qui sépare parfois un titre de son premier paragraphe ou coupe une carte en deux. La propriété CSS break-inside: avoid (CSS Fragmentation Module Level 3) dit au navigateur « ne sépare pas cet élément entre colonnes », typiquement appliquée aux cartes, figures et tout contenu qui doit rester groupé. break-before: column force une coupe de colonne avant un élément, utile pour « commencer chaque section dans une nouvelle colonne ». column-span: all fait qu'un titre ou un encadré s'étend sur toute la largeur, en sortant du flux des colonnes, typique pour le titre d'article au-dessus d'un corps en colonnes.

Pièges à surveiller

La mise en colonnes a des interactions subtiles qu'il vaut mieux connaître. L'ordre de lecture des lecteurs d'écran suit l'ordre du DOM, qui correspond généralement à l'ordre visuel haut-en-bas des colonnes, mais les technologies d'assistance peuvent parfois s'embrouiller sur des mises en page complexes. La pagination à l'impression avec multi-colonnes peut produire des équilibrages étranges entre les sauts de page ; testez avec une feuille de style d'impression si la sortie papier vous importe. Le contenu long se remplit vers le bas: si vous donnez à un conteneur multi-colonnes une hauteur fixe inférieure à ce que le contenu demande, il déborde ; si vous ne contraignez pas la hauteur, le navigateur équilibre les colonnes à des hauteurs à peu près égales. Le contenu ancré (formulaires, éléments interactifs qui doivent rester en place) fonctionne mal en colonnes parce que l'utilisateur ne sait pas où regarder. Mélanger avec Grid ou Flexbox au même niveau produit des résultats imprévisibles, choisissez une seule méthode de mise en page par conteneur.

Propriétés CSS générées

Outils associés

Générateur CSS Grid, gratuit Visualiseur du modèle de boîte CSS, gratuit Générateur CSS Flexbox, gratuit Générateur CSS clip-path, gratuit