Kleur & typografie
Colors, units, fonts
WEB ESSENTIALS
CSS-eenheden
Units
Je kan elementen vormgeven met properties (eigenschappen) en values (waardes).
color
en font-size
.highlight {
color: blue;
font-size: 18px; /* Het unit hier is 'px' */
}
px
De bovenstaande paragraph zal dus een font-grootte hebben van 20 pixels, ongeacht de schermgrootte.
p {
font-size: 20px;
}
Relatieve eenheden
Relatieve eenheden passen zich aan aan de bovenliggende element, het html-element of het browservenster.
Verschillende soorten:
rem
body {
/* 1rem equals 16px */
font-size: 1rem;
}
p {
/* 2rem equals 32px */
font-size: 2rem;
}
❤️ Voorkeur
Default font-size
De gebruiker kan de default font-size aanpassen:
👉 Gebruik daarom altijd relatieve waardes ipv pixels.
Zo respecteer je de lettergrootte die gebruikers instellen en schaalt alles evenredig mee.
em
section {
font-size: 20px;
}
h2 {
font-size: 2em; /* 2em = 40px */
}
<section>
<h2>Lorem ipsum dolor sit</h2>
</section>
⚡️ Excelleren
%
section {
font-size: 20px;
}
h2 {
font-size: 110%; /* 2em = 40px */
}
<section>
<h2>Lorem ipsum dolor sit</h2>
</section>
Color
Kleurnotaties
Zoals units, zijn er ook verschillende manieren om kleuren te definiëren in CSS.
body {
background: pink;
}
HSL
Waarde op basis van 3 parameters:
body {
background: hsl(243, 58%, 65%);
}
❤️ Voorkeur
HSL
In Figma kan je dit duidelijk zien, door met de verschillende toggles te spelen.
HSLa
HSL + een extra 4e parameter: Alpha
body {
background: hsla(243, 58%, 65%, 0.5);
}
body {
background: hsl(243, 58%, 65%);
}
RGB en RGBa
body {
background: rgba(118, 113, 217, 0.5);
}
body {
background: rgb(118, 113, 217);
}
HEX
16 miljoen kleuren via hexadecimale kleurcodes
Als de 3 paar hexadecimale getallen uit 2 dezelfde getallen bestaan, dan kan de verkorte notatie gebruikt worden:
body {
background: #7671D9;
}
🤓 Tip
Auto-complete in VSCode
colo
ma
🤓 Tip
Switch tussen kleurnotaties
Tekst opmaken
Color
Met color pas je de tekstkleur aan. Je kan hier de voorgedefinieerde waarden gebruiken, maar ook de andere kleurnoteringen:
p {
color: red;
}
p {
color: hsl(243, 58%, 65%);
}
😍
Opacity
Met opacity pas je de transparantie aan
p {
opacity: 0.5;
}
Font-size
Met font-size pas je de lettergrootte aan
h1 {
font-size: 2rem;
}
🤓 Tip
Er zijn verschillende extensies beschikbaar die helpen bij het omzetten
van px-waardes naar rem-waardes
Line-height
Line-height is de regelafstand, dit bepaalt de ruimte tussen regels tekst.
p {
font-size: 1rem; /* 16px */
line-height: 1.5; /* 24px */
}
Font-weight
Met font-weight geef je de letterdikte aan.
Dit stel je in met een benaming of een numerieke waarde
p {
font-weight: bold;
}
p {
font-weight: 400;
}
Font-weight
Hoe weet je welke benaming of waarde je nodig hebt?
Font-style
Met font-style pas je de stijl van het font aan
p {
font-style: italic;
}
Text-align
Met text-align bepaal hoe tekst horizontaal wordt uitgelijnd
p {
text-align: center;
}
Text-align
Text-decoration
Met text-decoration voeg je een lijn toe aan tekst
p {
text-decoration: underline;
}
a {
text-decoration: none;
}
🤓 Tip: haalt de lijn bij een link weg
Text-decoration
Je kan deze lijn nog verder opmaken
Text-indent
Hiermee kan je de eerste regel van een paragraaf laten inspringen
p {
text-indent: 2rem;
}
Text-indent
Letter-spacing
Gebruik je om de ruimte tussen letters aan te passen
p {
letter-spacing: 0.2rem;
}
p {
letter-spacing: -0.2rem;
}
Letter-spacing
Text-transform
Bepaalt hoe de letters in een tekst worden weergegeven qua hoofd- en kleine letters.
p {
text-transform: uppercase;
}
Text-transform
List-style-type
Kan je gebruiken om lijsten (ol & ul) op te maken
ul {
list-style-type: square;
}
ul {
list-style-type: none;
}
🤓 Tip: haalt de bolletjes weg bij bv. navigatie
List-style-type
List-style-image
Je kan ook een eigen afbeelding meegeven als bullet
ul {
list-style-image: url("../images/leaf.png")
}
🤓 Tip
Met een svg-icoon kan je leuke, custom lijsten opmaken
Fonts gebruiken
Lettertype vs. font
Een lettertype is de stijl of opmaak van letters
Google fonts
Figma
Lettertype vs. font
Binnen een lettertype of font-family heb je verschillende fonts
= varianten van het lettertype
Lettertypes gebruiken
Je laadt een lettertype in via de font-family property
html {
font-family: Roboto, Arial, Helvetica, sans-serif;
}
h1 {
font-family: "Times New Roman", Times, serif
}
System fonts vs Custom fonts
System fonts zijn lettertypen die vooraf op een computer of toestel zijn geïnstalleerd, dit hangt af van het besturingssysteem
Bekende system fonts:
Arial, Times New Roman, Verdana, Georgia, Courier New...
System fonts vs Custom fonts
Custom fonts zijn lettertypes die niet standaard op je toestel staan, je moet ze downloaden en zelf installeren
Custom fonts inladen
Bijna elke website maakt gebruik van custom fonts, dus we moeten ervoor zorgen dat deze fonts altijd beschikbaar zijn, ook al staan ze niet op de computer van de bezoeker.
Dat kan op twee manieren:
Google Fonts inladen met CDN
Een Content Delivery Network is een snelle manier om bestanden van het internet (zoals lettertypes) binnen te halen, omdat ze overal ter wereld op verschillende servers klaarstaan.
<head>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap" rel="stylesheet">
</head>
Google Fonts inladen met CDN
<head>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap" rel="stylesheet">
</head>
<head>
van je html-filehtml {
font-family: 'Roboto', sans-serif;
}
Fonts zelf hosten
⚡️ Excelleren
Fonts zelf hosten
Als de fonts klaarstaan in een mapje, moet je ze in je CSS bestand eerst definiëren door @font-face regels toe te voegen.
⚡️ Excelleren
@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;
}