Er zijn een paar verschillende talen die samen voor een belangrijk deel bepalen wat er op websites staat (HTML), hoe ze eruit zien (CSS) en hoe ze werken (JavaScript).
Introductie
Deze instructies leggen eerst de basisonderdelen van HTML uit, en gaan daarna in op CSS en JavaScript. Afhankelijk je ervaring met deze talen kun je het best bij het begin starten, of ervoor kiezen dit over te slaan. De instructies bestaan uit een deel uitleg met tussendoor opdrachten om te oefenen met alle onderdelen.

Benodigdheden
Visual Studio Code, vaak afgekort tot VS Code, is een programma waarin je code kunt schrijven. Het is gratis en werkt op Windows, macOS en Linux.
Deze moet je installeren als je die nog niet hebt.
Heb je die al wel en weet je hoe je er mee om moet gaan, ga dan verder met het volgende hoofdstuk.
Downloaden
Tijdens de dojo kun je het installatiebestand sneller downloaden van de CoderDojo-server:
Je kunt VS Code ook downloaden van de officiële website: Download Visual Studio Code.
Meer over download, installatie en gebruik
Kies de download die bij jouw computer past:
- Windows: kies bij voorkeur de User Installer. Daarvoor heb je meestal geen beheerderswachtwoord nodig.
- macOS: download het bestand voor macOS. De Universal-versie werkt op Macs met een Intel-processor en op nieuwere Macs met Apple silicon.
- Linux: kies het pakket voor jouw Linux-versie. Voor Ubuntu en Debian is
dat meestal het bestand dat eindigt op
.deb.
Weet je niet welke versie je nodig hebt? Vraag dan een mentor om mee te kijken.
Installeren op Windows
- Open het gedownloade bestand. De naam begint meestal met
VSCodeUserSetupen eindigt op.exe. - Volg de stappen van het installatieprogramma.
- Start Visual Studio Code na de installatie.
Een uitgebreide uitleg staat in de officiële Windows-handleiding.
Installeren op macOS
- Open het gedownloade bestand dat eindigt op
.dmg. - Sleep
Visual Studio Code.appnaar de mapApplicationsofProgramma's. - Open Visual Studio Code vanuit die map.
Een uitgebreide uitleg staat in de officiële macOS-handleiding.
Installeren op Linux
Op Ubuntu of Debian kun je meestal dubbelklikken op het gedownloade
.deb-bestand. Het softwarecentrum helpt je dan met de installatie.
Gebruik je een andere Linux-versie of lukt de installatie niet? Vraag een mentor om hulp of bekijk de officiële Linux-handleiding.
Een projectmap openen
In een projectmap bewaar je alle bestanden die bij jouw programma horen.
- Start Visual Studio Code.
- Kies in het menu File → Open Folder…. In een Nederlandse versie heet dit Bestand → Map openen….
- Zoek de projectmap die je voor de instructie hebt gemaakt.
- Kies Select Folder of Open.
Links in VS Code staat de Explorer. Daar zie je de projectmap en de bestanden die erin staan.
Vraagt VS Code of je de makers van de bestanden vertrouwt? Bij een map die je zelf hebt gemaakt, kun je kiezen dat je de makers vertrouwt.
Een bestand maken
- Beweeg met de muis over de naam van de projectmap in de Explorer.
- Klik op het pictogram New File. Dat ziet eruit als een vel papier met een plusteken.
- Typ de volledige bestandsnaam uit de instructie, bijvoorbeeld
index.html. - Druk op Enter.
Klik op een bestandsnaam in de Explorer om het bestand te openen. In het grote vlak in het midden kun je de code typen of plakken.
Bewaar je werk regelmatig met Ctrl+S op Windows en Linux, of Cmd+S op macOS. Een witte stip naast de bestandsnaam betekent dat er nog onopgeslagen wijzigingen zijn.
VS Code kan vragen of je wilt inloggen of AI-functies wilt gebruiken. Dat is voor de CoderDojo-instructies niet nodig. Je kunt zo’n vraag sluiten.
Onderdelen van een HTML-pagina (basis)
Structuur van een pagina
Websites worden geschreven in de taal van het internet: HTML. Er zijn veel verschillende “woorden”, of “bouwblokken”, in HTML. Een aantal van de meest gebruikte leer je hier kennen.
Een HTML-pagina heeft een paar standaard onderdelen:
| |
- HTML onderdelen worden aangegeven met tags: de naam van het onderdeel tussen
<>haakjes. - De meeste onderdelen hebben een start en een eind tag.
- De eind tag heeft een forward slash dus
/voor de naam, bijvoorbeeld</html>. - Tags worden altijd geschreven met kleine letters.
Opdracht Kopieer en plak de basisonderdelen in een nieuw bestand en sla dit op als html-bestand (bijvoorbeeld ninja.html). Let op: pas nadat je het bestand hebt opgeslagen krijgt de tekst ook verschillende kleuren. Als je deze kleuren niet ziet kan het zijn dat je het bestand als tekst, dus eindigend op .txt hebt opgeslagen. Zet nu ook de preview aan. Het resultaat zou er ongeveer zo uit moeten zien:
Dit is een kop
Dit is een alinea.
De standaard onderdelen
<html>: dit is het hoofdonderdeel van een pagina. Alle andere onderdelen komen binnen de<html></html><head>: binnen dit onderdeel wordt informatie over de pagina gezet, bijvoorbeeld de titel.<body>: binnen dit onderdeel staat alle tekst die zichtbaar is op de pagina, in het voorbeeld een kop<h1>en een alinea<p>.
Opdracht Voeg eens een alinea met als tekst je naam in de <body> van de
pagina toe. Zie je je naam verschijnen?
Koppen
Om verschillende niveau’s aan te geven op een pagina kun je koppen gebruiken.
Hiervoor zijn de <h1>, <h2>, <h3> (enzovoort) tags. Met deze tags
kun je je pagina een duidelijke indeling geven, zoals je kunt zien in het voorbeeld hierboven.
Opdracht Tot hoe ver gaan de niveau’s eigenlijk? Bestaat <h20>?
Opdracht Maak een pagina die er zo uitziet:
Heelal
Melkwegstelsel
Zonnestelsel
Aarde
De stijl van tekst
Je kunt op een aantal manieren tekst extra benadrukken: door woorden dik te
maken, of schuin. Hiervoor kun je bijvoorbeeld de tags <b> (voor dik) en
<i> (voor schuin) gebruiken. Een aantal andere tags om extra effect aan je
tekst te geven zijn <mark> en <del>. De HTML-code
| |
wordt dus
Opdracht Gebruik de onderdelen die hierboven genoemd zijn eens uit en maak deze zin na (zet deze bijvoorbeeld onder de kop Aarde):
Links
Een superbelangrijk onderdeel van webpagina’s zijn natuurlijk links die
verwijzen naar andere pagina’s, op dezelfde site of op een andere. Denk
maar eens aan zoekmachines! Voor het maken van een link gebruik je de <a>
tag. Het adres van de link, dus waar deze naar verwijst, voeg je toe door
het attribuut href in de tag te zetten met als waarde het adres, op deze
manier:
| |
Opdracht Probeer op deze manier maar eens een link naar je favoriete website te maken. Let op: vergeet niet de aanhalingstekens om het adres van de website.
Zie je de link niet? Dat komt omdat je nog niets hebt toegevoegd om op te klikken! Dit komt tussen de start- en eindtag en mag tekst zijn, maar ook bijvoorbeeld een afbeelding.
Opdracht Maak op de pagina een link naar je favoriete website met de tekst “Mijn favoriete website!” (let op: de tekst is dik gedrukt, hoe moest dat ook weer?). Werkt de link? Tip: zet in de link https:// voor de naam van de website.
Plaatjes
Met alleen maar tekst zouden veel websites er maar saai uit zien. Plaatjes kun
je toevoegen aan je pagina met de <img> tag. Ook hier heb je weer een
attribuut nodig, dat heet src (van source, Engels voor bron):
| |
Opdracht: Pas de link van de vorige opdracht zo aan dat je het CoderDojo logo hieronder gebruikt in plaats van de tekst die er staat. Download Hiervoor het plaatje en sla het op in de map waar ook je html-pagina staat. Werkt de link nu ook weer? Let op: je moet de hele naam van het plaatje gebruiken, in dit geval is het een png-bestand.

Stijl toevoegen met CSS (basis)
Zonder stijl heeft tekst op een webpagina een standaardkleur (zwarte letters op een witte achtergrond), standaardgrootte en standaardlettertype. Je kunt eindeloos variëren met stijl, en er zijn verschillende manieren om stijl toe te voegen aan je HTML.
De opdrachten in deze instructie beginnen met deze HTML-code:
| |
Dit zou er in de preview zo uit moeten zien:
Dit is de best gestijlde regel HTML ooit!
Hoewel, misschien is deze nog wel mooier...
Stijl toevoegen
De makkelijkste manier om stijl toe te voegen aan je HTML is door een style
attribuut toe te voegen aan een HTML-element, bijvoorbeeld:
| |
In dit voorbeeld is color de eigenschap die je wilt instellen, namelijk de kleur van de tekst. De waarde die je de tekst geeft is hier red, dus rood.
Spelen met kleur
De kleur van tekst bepaal je met de eigenschap color:
<p style="color:green">. Kleuren instellen kan op verschillende manieren,
bekijk hiervoor het onderdeel :ref:html-kleuren.
Opdracht Maak de tekst van de eerste alinea groen, en die van de tweede paars:
Dit is de best gestijlde regel HTML ooit!
Hoewel, misschien is deze nog wel mooier...
Je kunt niet alleen de kleur van de tekst zelf, maar ook de achtergrond
veranderen, dit doe je met de eigenschap background-color:
<p style="background-color:....">.
Opdracht Maak de tekst van de eerste alinea rood met een zwarte achtergrond, en die van de wit met een oranje achtergrond:
Dit is de best gestijlde regel HTML ooit!
Hoewel, misschien is deze nog wel mooier...
Tekstgrootte aanpassen
Eén manier om letters van verschillende grootte te maken is door :ref:koppen
te gebruiken. Dat is niet altijd handig (waarom is nu niet belangrijk) en het
kan ook met de eigenschap font-size. Een voorbeeld:
| |
geeft dit resultaat
Groot!
In dit voorbeeld is px gebruikt om aan te geven hoe groot de tekst moet zijn,
dit is de grootte in pixels op het scherm. Je kunt ook procenten gebruiken,
waarbij 100% de “standaard” grootte is: <p style="font-size:100%">.
Opdracht Maak de eerste zin van je pagina zo groot dat ie nog net op één regel past, en de tweede zo klein dat je ’m nog nét kunt lezen.
Verschillende soorten letters gebruiken
Naast de kleur en de grootte kun je ook nog het soort letters veranderen. Dit
doe je met de eigenschap font-family:
<style="font-family:naam,backup-naam">
Je ziet dat er naam en backup-naam als waarde staat ingevuld. De soort letter backup-naam is niet verplicht, maar wordt gebruikt als de computer de soort letter naam niet kent. Een voorbeeld:
| |
geeft dit resultaat
Broadway is niet zo goed te lezen.
Verdana een stuk beter.
Stijlen combineren
Je kun meer dan één eigenschap tegelijk instellen door ze met een punt-komma
achter elkaar te zetten, bijvoorbeeld: <p style="color:red;font-size:20px">
Opdracht Combineer nu in de twee zinnen verschillende kleuren, lettergroottes en soorten letters. Leef je uit!
Toegankelijkheid
Je hebt nu gezien dat je tekst op je webpagina er op heel veel verschillende manieren kunt laten uitzien. Dat het kán betekent natuurlijk nog niet dat het ook móét! Om te zorgen dat websites ook voor mensen die bijvoorbeeld minder goed zien te gebruiken zijn is het belangrijk (en voor sommige websites verplicht!) om bijvoorbeeld
- de letters groot genoeg te maken
- de kleur van de letters en die van de achtergrond verschillend genoeg te maken
- genoeg ruimte tussen regels tekst te laten.
Actie toevoegen met JavaScript (basis)
De HTML die je net hebt geleerd is statisch. Om hier acties aan toe te voegen, zoals het klikken van een knop gebruiken we JavaScript (JS). Net zoals HTML kent ook JS veel verschillende “woorden”. Hier behandelen we er een aantal.
Toevoegen aan een HTML bestand
JS wordt voor HTML bestanden geschreven in een speciaal blok:
| |
Dit ziet er als volgt uit met code (De code wordt verder toegelicht):
| |
Functies
Een functie in JS ziet er als volgt uit:
| |
Hierbij zie je dat function aangeeft dat het een ‘functie’ is.
Vervolgens geven we de parameters op. Bij ons zijn dat getal1 en getal2.
Als laatst gebruiken we deze twee variabelen om een optelling te doen.
We geven dit getal terug door return te gebruiken.
Als we dit stukje code als volgt aanroepen:
| |
Dan zien we dat er 3 wordt geprint!
We slaan hierbij het resultaat op in resultaat
en printen die vervolgens met console.log().
Om nu de output te zien van de console.log() functie moeten we de
console openen. Je kunt dit doen op verschillende manieren:
Windows:
- F12
- Rechtermuisknop + inspecteer
- Control+Shift+J
MacOs:
- Command+Option+J
Variabelen
Variabelen in JS gebruiken net als andere talen een speciale syntax.
In JS kennen we var, const en let. Een goede tip om problemen tegen
te gaan is om alleen const en let te gebruiken.
const gebruiken we als een variabelen niet meer veranderd,
en let als we de variabelen later nog aan willen passen.
Een variabele resultaat maken doen we als volgt:
| |
In variabelen kunnen we data opslaan, dat is heel handig!
Voorbeeld 1: Knop
Bij een knop gaan we HTML en JS combineren!
Opdracht Zorg allereest dat je een HTML pagina hebt met een knop.
| |
Wat gebeurt er nu als je op de knop klikt?
Opdracht Om nu interactie toe te voegen aan de knop gaan we JS en html combineren.
- Op de knop kunnen we de volgende HTML toevoegen: onclick="". Nu werkt het echter nog niet..!
- Nu moeten we een JS functie schrijven die de knop aan gaat roepen, weet jij nog waar dit moet staan in het HTML bestand?:
| |
- Als laatste gaan we deze twee elementen aan elkaar koppelen door de onclick="" aan te passen (Hier moet je wel de JS nog toevoegen!):
| |
Voorbeeld 2: Een element toevoegen op de pagina
We kunnen in JS nog veel meer doen dan interactie toevoegen, bijvoorbeeld aan
knoppen. Ook kunnen we HTML toevoegen aan de HTML pagina!
We hebben hier een aantal functies voor in JS.
| |
Er zijn nog veel meer mogelijkheden, maar dit is een van de simpelste.
| |
Opdracht Kun jij nu met jouw kennis van JS en HTML een element toevoegen als je op een knop klikt?
Voorbeeld 3: Reageren op berichten van een gebruiker
Met de volgende HTML code hebben we een invoer veld waar de gebruiker iets in kan typen:
| |
Als de gebruiker nu iets typt, zie je alleen de tekst staan. Er gebeurt verder nog niet zo veel. Kun jij ervoor zorgen dat de computer terugpraat?
- Voeg een knop toe aan de HTML pagina
- Als je op de knop klikt, log dan de text die in het input veld staat met
console.log. Om de tekst uit het invoer veld te halen kun je gebruik maken van:const input = document.getElementById("inputId").value; - Kun jij nu de computer
Hallo <naam>laten zeggen? Je kan dit doen met de functiealert(), hier moet je nog wel text aan meegeven. Dit is een voorbeeld:alert("Hoi Kevin!")
Stijl toevoegen met CSS (vervolg)
Maak voor de opdrachten in deze instructie een HTML-bestand met deze inhoud:
| |
Tot nu toe heb je stijl toegevoegd door style="..." te gebruiken in de
HTML-onderdelen. Dat heeft voordelen en nadelen. Het is handig dat je meteen
kunt zien hoe de inhoud van je webpagina eruit komt te zien. Minder handig is
dat je aan ieder stukje HTML op deze manier een stijl moet toevoegen. Dat is
én veel werk, én wordt al snel onoverzichtelijk als je veel stijlen hebt.
Het is daarom gebruikelijk bij webpagina’s om de inhoud en stijl op
verschillende plekken neer te zetten. Een manier om dit te doen is binnen het
<style> onderdeel. De code binnen het <style> onderdeel ziet er wat
anders uit dan je tot nu toe gezien hebt. Om tekst rood te maken gebruikte je
| |
Binnen <style> moet je deze code schrijven, een soort regel voor hoe de
HTML zich moet gedragen:
| |
Opdracht Wat denk je dat er gebeurt als je dit stukje code in het
<style> onderdeel zet? Probeer het eens. Had je gelijk?
Stijl toevoegen aan sommige, maar niet alle elementen
Als je de opdracht van net hebt uitgevoerd, heb je gezien dat alle <p>
onderdelen, dus alle alinea’s, rode tekst hebben. Dit is dus wat deze code
doet:
- de eigenschap kleur krijgt
- de waarde rood
- voor alle
<p>onderdelen
Maar stel nou dat je alleen bepaalde alinea’s rood wilt maken?
Class
Dat kan bijvoorbeeld door het HTML-onderdeel lid te maken van een zogenaamde class:
| |
In de CSS maak je een class door een punt aan het begin te gebruiken:
| |
Opdracht Gebruik een class met de naam “rodealinea” om de 1e en 4e alinea rood te maken, dus zo:
Deze pagina gaan we stylen!
Dit is een h2 kop
Dit is ook een h2 kop!
Wat zullen we met deze alinea gaan doen?
Deze alinea wordt nog mooier dan de vorige.
De vorige alinea's zijn jaloers op mij.
Jaloers op mij zul je bedoelen!