Tekst verdelen in kolommen m.b.v. CSS II

In het item Tekst verdelen in kolommen m.b.v. CSS wordt uit de doeken gedaan hoe je tekst in twee kolommen kunt splitsen. Dat is een statische methode. Die heeft het nadeel dat de content vast zit in een kolom. Als de kolommen niet even lang zijn, krijg je een  scheve  beeldspiegel.
Voor sommige toepassingen is dat gewenst of handig, maar soms is dat juist ongewenst, en wil je juist dat de kolommen altijd even lang zijn, zoals in een boek. Dit laatste is lastig te realiseren met een statische benadering; daarvoor heb je een dynamische werkwijze nodig. Gelukkig is dat met CSS heel eenvoudig, met de eigenschap column.

Eerst een voorbeeld:

Voorbeeld met drie kolommen

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco 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.
Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco 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.

De CSS- en HTML-code luidt:
 
<style> /* Mag in de HEAD en in de BODY */
.kolommen {
  column-count: 3;
  column-gap: 20px;
}
</style>
 
<!-- onderstaande code in de BODY -->
<p class="kolommen">Lorem ipsum dolor  .  .  .  id est laborum.<br>
Lorem ipsum dolor  .  .  .  id est laborum.</p>

De mogelijkheiden die er zijn voor het werken met kolommen staan in de tabel hieronder.

Eigenschap Betekenis
column‑width 
Minimum breedte van de kolommen, in pixels. Normaal worden de kolommen gelijk verdeeld, maar als het aantal kolommen (in column-count) niet kan worden gemaakt met de minimale breedte, wordt alles in één kolom gezet.
column‑count 
Aantal kolommen dat moet worden gemaakt. Geheel getal groter dan nul.
columns 
Verkorte schrijfwijze voor column-width en column-count, in deze volgorde.
De schrijfwijze is: columns: 150px 3;
column‑fill 
Manier waarop de kolommen (verticaal) worden uitgevuld. Hier zijn twee instellingen mogelijk: balance en auto.
•  balance : Dit is de default waarde. Elke kolom wordt gevuld met ongeveer dezelfde hoeveelheid content. Als de hoogte is opgegeven worden de kolommen niet hoger dan die hoogte.
•   auto : Elke kolom wodt gevuld tot de aangegeven hoogte. Dit wordt gedaan tot het einde van de content die in de kolommen moet komen. Dit houdt in dat niet alle kolommen noodzakelijk tot het eind gevuld worden en ook dat de verdeling over de kolommen niet noodzakleijk gelijk is.
Dit werkt alleen als de hoogte van de kolommen is opgegeven (height).
column‑gap 
Breedte van de witruimte tussen de kolommen, in pixels.
column‑rule‑color 
Kleur van de verticale streep tussen de kolommen. Dit is een standaard kleurnaam of een hexadecimale code
column‑rule‑style 
Uiterlijk van de verticale streep tussen de kolommen. Dit is één van de keywords die je ook gebruikt bij border: solid, dashed, dotted, double, groeve, ridge, inset, outset, hidden of none.
column‑rule‑width 
Breedte van de verticale lijn tussen de kolommen, in pixels.
column-rule 
Verkorte schrijfwijze voor column‑rule‑width, column‑rule‑style en column‑rule‑color, in deze volgorde.
De schrijfwijze is: column‑rule: 2px dotted #d00.
column‑span 
Dit is bedoeld voor een kop boven of onder de kolommen. Er zijn hier twee keywords mogelijk: none en all:
•   none : Dit is de default-waarde. De kop heeft de beedte van de eerste kolom.
•   all : De kop wordt verdeeld over alle kolommen.
Dit beínvloedt alleen de plaatsing van de kop. Verdere opmaak (zoals tekst centreren) moet je zelf doen.
In het voorbeeld is column–span: all gebruikt.

 
terug

html-612; Laatste wijziging: 25 oktober 2020