CSS: Typografie
Basiseigenschappen voor tekststijling
font-size
- Tekstgrootte
Bepaalt de grootte van de tekst. Je kunt verschillende eenheden gebruiken maar rem
heeft de voorkeur:
p { font-size: 1rem; }
h1 { font-size: 2rem; }
Titel: 2rem
Body: 1rem
line-height
- Regelafstand
De afstand tussen tekstregels, belangrijk voor leesbaarheid. Voor line-height
gebruiken we een waarde zonder unit. Deze is relatief aan de font-size
.
p {
font-size: 1rem;
line-height: 1.5; /* 1.5x de font-size = 1.5rem */
}
font-weight
- Tekstgewicht
Het gewicht van de tekst. Je kan hier een numerieke waarde gebruiken of een keyword:
100
-900
(numeriek)normal
(400),bold
(700)lighter
,bolder
(relatief ten opzichte van parent)
h1 { font-weight: bold; }
p { font-weight: normal; }
.light { font-weight: 300; }
.heavy { font-weight: 900; }
Titel: bold
Body: normal, met heavy en light classes.
font-style
- Tekststijl
Voor cursieve of normale tekst:
em { font-style: italic; }
p { font-style: normal; } /* standaard */
Body: normal, met emphasis.
font-family
- Lettertype
Bepaalt welk lettertype gebruikt wordt. Je kan meerdere lettertypes definiëren per lijn. Deze werken als fallback (reserve) indien een lettertype niet beschikbaar is.
Lettertypes tussen quotes zijn zelf geladen lettertypes, standaard (systeem) lettertypes kan je zonder quotes definiëren.
body {
font-family: "Helvetica Neue", Arial, sans-serif;
}
h1 {
font-family: "Times New Roman", Times, serif;
}
code {
font-family: "Courier New", Monaco, monospace;
}
Fontstack categorieën:
- Serif (schreef): Times, Georgia
- Sans-serif (schreefloos): Arial, Helvetica
- Monospace: Courier, Monaco - voor code
Tekstuitlijning en decoratie
text-align
- Tekstuitlijning
Bepaalt hoe tekst uitgelijnd wordt binnen zijn container:
h1 { text-align: center; }
p { text-align: left; } /* standaard */
.quote { text-align: right; }
.justified { text-align: justify; }
Titel: gecentreerd
Paragraaf: links (standaard)
Quote: rechts
Lange tekst: justified. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed enim libero, luctus eu tincidunt in, accumsan vitae nisl. Nunc accumsan neque enim, in tempor tellus ornare a.
text-decoration
- Tekstdecoratie
Voor onderlijning, doorhaling, etc.:
a { text-decoration: underline; }
.crossed { text-decoration: line-through; }
.overlined { text-decoration: overline; }
.clean-link { text-decoration: none; }
/* Meerdere decoraties */
.multiple { text-decoration: underline overline; }
/* Geavanceerd */
.fancy {
text-decoration: underline;
text-decoration-color: hsl(0,0,0);
text-decoration-thickness: 2px;
text-decoration-style: dotted;
}
Paragraaf met een link, clean-link, crossed, overlined, multiple en fancy
text-transform
- Teksttransformatie
Wijzigt de case van tekst:
.uppercase { text-transform: uppercase; } /* ALLES HOOFDLETTERS */
.lowercase { text-transform: lowercase; } /* alles kleine letters */
.capitalize { text-transform: capitalize; } /* Eerste Letter Van Elk Woord */
.normal { text-transform: none; } /* Originele case behouden */
Paragraaf met uppercase, lowercase, capitalize
Meer typografie-eigenschappen
text-indent
- Tekstinspringing
Voor de eerste regel van een paragraaf:
p { text-indent: 2rem; } /* Eerste regel 2rem inspringen */
Paragraaf met indent.
letter-spacing
- Letterspatiëring
Ruimte tussen individuele letters:
p { letter-spacing: 1px; } /* Meer ruimte tussen letters */
.tight { letter-spacing: -1px; } /* Letters dichter bij elkaar */
.spaced { letter-spacing: 0.1rem; }
Paragraaf met tight en spaced.
word-spacing
- Woordspatiëring
Ruimte tussen woorden:
p { word-spacing: 2px; }
.tight-words { word-spacing: -2px; }
Paragraaf met tight words.