Accueil
Mes tutoriels sur la programmation

Tutoriel CSS - sommaire


Vous pouvez me contacter via Facebook (questions, suggestions) : page facebook relative à mon site

Mon site est gratuit pour les visiteurs (et sans publicité) mais sachez qu'il a un coût ...
Signé : l'auteur.

CSS : un texte réparti sur plusieurs colonnes ; propriétés préfixées "column-"

Exemple 1

Le rendu

Avec un smartphone orientez l'écran en mode "paysage" !

Le code correspondant

... <style> aside { width : 96% ; margin : 10px auto 10px auto ; background : skyblue; column-width : 250px; column-gap : 10px ; column-rule : 1px dashed red; word-break : break-all; } aside p {margin: 10px ; text-align : justify; } aside h3 {column-span : all;} aside h4 {break-before :column; text-align :center;} ... <aside> <h3>Titre principal</h3> <p>Comme je viens de te le dire Florence, ... <p>Il a recommencé et recommencé. Pratiquement tout les ordinateurs existants furent sous son contrôle. ... <h4>Sous-titre</h4> ... </aside> ...

Commentaire du code

Pouvoir répartir proprement du texte sur plusieurs colonnes sans prise de tête. Voila un vieux rêve des développeurs WEB qui enfin se réalise enfin.

La propriété Colum-rule est suivie de 3 valeurs car c'est un raccourci qui remplace : column-rule-width, colum-rule-width, colum-rule-color

Les coupures de mots se font n'importe où.
Réduisez la largeur de la fenêtre ; vous constatez que sur un petit écran, le choix de "column-width : 250px" aboutit à une catastrophe ...
Dans le deuxième exemple ces bugs sont corrigés.

Exemple2

Le rendu

Titre principal

Comme je viens de te le dire Florence, ce n’est malheureusement pas une blague. David a travaillé sur deux anciennes technologies abandonnées depuis longtemps et il les a couplées. Séparées, elles ne valaient rien, mais, il les a réunies et a démarré le processus. Comme tu dois le savoir, il y a maintenant plus d’ordinateurs sur terre que d’humains et tous ces ordinateurs sont connectés entres eux grâce au réseau des réseaux : Internet.

Il a recommencé et recommencé. Pratiquement tout les ordinateurs existants furent sous son contrôle. Il ne laissait pas de trace, ne se montrait pas. Et puis, il a découvert les dialogues en direct via Internet, le téléphone, la visio conférence, la domotique...

Sous-titre

Dans le plancher pour savoir si quelqu'un marchait et quel poids il faisait. Le cœur pouvait alors déterminer de quelle personne il s'agissait. Dans les murs, des cellules photosensibles, des micro-caméras et tout un réseau de détecteurs divers (magnétique, pression, infrarouge...) permettait de déterminer la position exacte de chaque personne et objet dans la maison, de ventiler ou chauffer en conséquence, d'allumer ou d'éteindre la lumière...

La grande porte s’ouvrit lourdement en coulissant sur le côté gauche sans faire le moindre bruit. Derrière la porte, une nouvelle route, éclairée par de multiples projecteurs accrochés de chaque côtés, s’enfonçait dans les profondeurs de cet ouvrage. Cette route était faite de zigzag incessant, certainement pour empêcher le souffle d’une bombe atomique pensa David.

La grande porte s’ouvrit lourdement en coulissant sur le côté gauche sans faire le moindre bruit. Derrière la porte, une nouvelle route, éclairée par de multiples projecteurs accrochés de chaque côtés, s’enfonçait dans les profondeurs de cet ouvrage. Cette route était faite de zigzag incessant, certainement pour empêcher le souffle d’une bombe atomique pensa David.

Le code CSS correspondant

Le texte est contenu dans la boite ARTICLE et est identique à celui de l'exemple 1.
Quant au CSS quelques différences à signaler :

article { width : 96% ; margin : 10px auto 10px auto ; background : lightgrey; column-count : 3 ; column-width : auto; column-gap :20px ; column-rule : 2px solid silver; -webkit-hyphens : auto ; -moz-hyphens : auto ; -ms-hyphens : auto ; hyphens : auto; } article p {margin : 10px ; text-align : justify;} article h3 {column-span : all;} article h4 {break-before :column; text-align :center;}

A la place de "column-width" j'ai utilisé "column-count : 3 & column-width : auto" . Donc le texte multicolonnes devient "responsive".
A la place de "word-break" j'ai utilisé "hyphens" donc, selon les navigateurs, il y a coupure propre ou mots insécables.

La propriété hyphens

La propriété hyphens doit encore être préfixée et malgré cela n'est pas forcément appliquée ...
Il faut aussi préciser dans le code HTML la langue car les règles de césure varient selon les langues.
Le texte étant ici en français, il faut écrire dans la partie HEAD :

<html lang ="fr">