CSS: fonts
Wat is een font?
1 font = 1 bepaald lettertype in 1 bepaalde stijl:
bv: Roboto Regular
1 font heeft een hele hoop tekens:
- Iedere letter van het alphabet (a - Z)
- Ieder nummer (0 tot 9)
- Lettertekens (; , . ? / >)
- Lettervariaties (é ê ë ē ę è ž, ...)
Variabele fonts
Eén enkel fontbestand dat meerdere stijlen en gewichten bevat:
- Flexibele variaties
- Minder bestanden
- Dynamische aanpassingen
- Prestaties: minder http-requests
Een font gebruiken
font-family
property
Bepaalt welk lettertype gebruikt wordt. Je kan meerdere lettertypes definiëren per lijn (fontstack). Deze werken als fallback (reserve) indien een lettertype niet beschikbaar is.
body {
font-family: Arial, sans-serif;
}
h1 {
font-family: Times, serif;
}
code {
font-family: Monaco, monospace;
}
Titel: Times
Body: Arial
Code: Monaco
Fontstack categorieën:
- Serif (schreef): Times, Georgia
- Sans-serif (schreefloos): Arial, Helvetica
- Monospace: Courier, Monaco - voor code
Systeem fonts en custom fonts
Systeem fonts
Systeem fonts verschillen per besturingsysteem:
- OSX (Apple): 198 fonts
- Windows (Microsoft): 440 fonts
Welke fonts zijn er beschikbaar?
Custom fonts
Je kan natuurlijk ook je eigen fonts (custom) gebruiken:
- Gratis: Google Fonts
- Betalend: MyFonts
Om deze te gebruiken moet je die wel eerst inladen in je HTML
. Je kan deze fonts zelf hosten of via een CDN (content delivery network) inladen:
- Zelf hosten: meer controle en sneller
- CDN: makkelijker in gebruik
Fonts gebruiken via CDN (google fonts)
Kies een font dat je wil gebruiken op Google Fonts:
- selecteer het font dat je wil gebruiken (of meerdere fonts) en klik op
Get font
- in dit voorbeeld gebruiken we
Roboto
- ga naar het venster
View selected families
(icoon rechts boven) - pas eventueel het aantal gewichten aan dat je wenst te gebruiken
- klik op
Get embed code
en kies voor de<link>
optie - kopieer het stukje embed code voor de
<head>
van jeHTML
- plak de embed code nu in de
<head>
van jeHTML
bestand - let er op dat elke HTML-pagina van je project deze code bevat
Embed code in de <head>
van je HTML
<head>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
</head>
Je kan nu het custom font gebruiken in je CSS
bestand . Een custom font definiëer je steeds tussen aanhalingstekens.
h1 {
font-family: "Roboto", Arial, sans-serif;
font-weight: 700;
}
p {
font-family: "Roboto", Arial, sans-serif;
font-weight: 400;
}
Titel: Roboto 700
Body: Roboto: 400
Fonts zelf hosten
Kies een font dat je wil gebruiken op Google Fonts:
- selecteer het font dat je wil gebruiken (of meerdere fonts) en klik op
Get font
- in dit voorbeeld gebruiken we
Lato
- ga naar het venster
View selected families
(icoon rechts boven) - pas eventueel het aantal gewichten aan dat je wenst te gebruiken
- klik op
Download all
- plaats je gedownloade fonts in een
fonts
mapje binnenin je project - in je
CSS
bestand moet je nu eerst je fonts beschikbaar maken door@font-face
regels toe te voegen. Let er op dat je pad correct is.
Font-face regels
- per gewicht moet je een nieuwe
@font-face
regel voorzien, voor een variabel font is 1 enkele regel voldoende - plaats deze in het begin van je
CSS
bestand
@font-face {
font-family: "Lato";
src: url('fonts/Lato-Regular.woff2') format('woff2'),
url('fonts/Lato-Regular.woff') format('woff');
font-weight: 400; /* we definiëren ook het gewicht */
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Lato";
src: url('fonts/Lato-Bold.woff2') format('woff2'),
url('fonts/Lato-Bold.woff') format('woff');
font-weight: 700; /* we definiëren ook het gewicht */
font-style: normal;
font-display: swap;
}
Je kan nu het custom font gebruiken in je CSS
bestand . Een custom font definiëer je steeds tussen aanhalingstekens.
h1 {
font-family: "Lato", Arial, sans-serif;
font-weight: 700;
}
p {
font-family: "Lato", Arial, sans-serif;
font-weight: 400;
}