Skip to main content

Comment utiliser des colonnes CSS pour des mises en page de site Web à plusieurs colonnes

Ruby on Rails by Leila Hofer (Avril 2025)

Ruby on Rails by Leila Hofer (Avril 2025)
Anonim

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):

Le titre de votre article

Imaginez beaucoup de paragraphes de texte ici …

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:

De notre blog

Le contenu irait ici…

Utilisation de la largeur de colonne

Vous pouvez utiliser une autre propriété en plus du «nombre de colonnes» et, en fonction de vos besoins en matière de présentation, il peut en fait être un meilleur choix pour votre site. C'est "largeur de colonne". En utilisant le même balisage HTML que précédemment, nous pourrions le faire avec notre CSS:

.content {-moz-column-width: 500px; -webkit-column-width: 500px; largeur de colonne: 500px; -moz-colonne-gap: 30px; -webkit-colonne-gap: 30px; écart de colonne: 30px; } .content div {display: inline-block; }

La façon dont cela fonctionne est que le navigateur utilise cette «largeur de colonne» comme valeur maximale de cette colonne. Si la largeur de la fenêtre du navigateur est inférieure à 500 pixels, ces 3 divisions apparaissent dans une seule colonne, l’un des sommets d’une autre. Ceci est une disposition typique utilisée pour les dispositions de mobile / petit écran.

Au fur et à mesure que la largeur du navigateur augmente suffisamment pour contenir 2 colonnes avec les espaces de colonne spécifiés, le navigateur passera automatiquement d'une présentation de colonne à deux colonnes. Continuez à augmenter la largeur de l'écran et vous obtiendrez éventuellement un modèle à 3 colonnes, chacune de nos 3 divisions étant affichée dans sa propre colonne. Encore une fois, c’est un excellent moyen d’obtenir des mises en page réactives et conviviales pour plusieurs appareils. Vous n’avez même pas besoin d’utiliser des requêtes multimédia pour modifier les styles de mise en page!

Autres propriétés de colonne

Outre les propriétés couvertes ici, il existe également des propriétés pour «règle-colonne», y compris les valeurs de couleur, de style et de largeur qui vous permettent de créer des règles entre vos colonnes. Celles-ci seraient utilisées à la place des bordures si vous souhaitez que des lignes séparent vos colonnes.

Temps d'expérimentation

Actuellement, la disposition en colonnes multiples CSS est très bien supportée.Avec les préfixes, plus de 94% des utilisateurs Web pourraient voir ces styles, et ce groupe non pris en charge ne serait en réalité que des versions beaucoup plus anciennes d’Internet Explorer que vous ne supporteriez peut-être plus de toute façon.

Avec ce niveau de support maintenant en place, il n'y a aucune raison de ne pas commencer à expérimenter avec les colonnes CSS et à déployer ces styles dans des sites Web prêts pour la production. Vous pouvez commencer vos expériences en utilisant les codes HTML et CSS présentés dans cet article et jouer avec différentes valeurs pour voir ce qui convient le mieux pour les besoins de mise en page de votre site.