Programmeren met Pals
Bouw je eigen website
Op deze website leer je programmeren met Pals. Aan het eind van deze lessenserie kun je zelf een gave website bouwen.
Les 1: Hoe zet je een HTML-pagina op?
Programmeertalen
Je kunt een website maken met de volgende programmeertalen:
- HTML = Hyper Text Markup Language -> hiermee kun je structuur aan je website geven
- CSS = Cascading Style Sheets -> hiermee kun je de website stylen. Bijvoorbeeld mooie kleuren geven
- JavaScript = hiermee kun je de website dynamisch maken. Als je een game wilt maken bijvoorbeeld, dan kun je daarvoor JavaScript gebruiken
Een HTML-bestand
We beginnen met HTML. Dat is de basis. Hieronder zie je een voorbeeld van een HTML-pagina:
Maak je eigen HTML-bestand
Je kunt heel eenvoudig een eigen HTML-bestand maken. Dit kun je doen door Notepad++ te openen. Hierin kun je HTML typen en deze vervolgens opslaan.
Opdracht 1: Maak een HTML-bestand in Notepad++ en sla deze op als een .html-bestand. Zorg dat je deze wel opslaat op een logische plaats op je computer. Documenten is een goede plek.
Zorg vervolgens dat je een standaard HTML-pagina maakt zoals in het voorbeeld hierboven. Sla dit vervolgens op.
Tekst toevoegen op je website
Nu wil je natuurlijk teksten toevoegen op je website. HTML werkt alleen met code. Dus als je een enter doet, dan zie je dat niet terug op de website. Hieronder zie je een lijst met tags die je kunt gebruiken:
1. Koptekst:
<h1>Dit is een grote koptekst</h1>
<h2>Dit is een kleinere koptekst</h2>
<h3>Dit is een nog kleinere koptekst</h3>
2. Paragraaf:
<p>Hier plaats je grote stukken tekst</p>
3. Bold, Schuin of Lijntje eronder:
<b>Deze tekst wordt dikgedrukt</b>
<i>Deze tekst wordt schuin</i>
<u>Hier komt een lijntje onder</u>
Opdracht 2: Geef je website een mooie titel. Gebruik daarvoor een h1-tag. Maak vervolgens een paragraaf waarin je wat vertelt over waarom je HTML gebruikt. Maak belangrijke woorden bold. Nog belangrijkere woorden kun je ook een underline geven. Als je een eigen website bouwt, zorg er dan in ieder geval voor dat je alle bovengenoemde tags gebruikt.
Lijstje maken
Soms is het fijn om een lijstje te maken met daarin een opsomming. Redenen kunnen zijn:
- Reden 1: het is overzichtelijk
- Reden 2: er komen mooie bolletjes voor
- Reden 3: je kunt eventueel ook het systeem automatisch laten tellen
<ul>
<li>Punt 1</li>
<li>Punt 2</li>
<li>Punt 3</li>
</ul>
Opdracht 3: Maak een opsomming met 5 redenen waarvoor programmeren wordt gebruikt. Als je een eigen website bouwt, mag je een opsomming naar keuze gebruiken. Zorg er in ieder geval voor dat je een ul en li gebruikt. Bonus: kun je uitzoeken op welke wijze je een opsomming met getallen kunt maken?
Les 2: Hoe kan ik een tabel maken en de website wat kleur geven?
Hoe kun je een tabel maken?
Een tabel zul je erg vaak gebruiken. Bijvoorbeeld om wat data te tonen en zorgen dat dit er overzichtelijk uitziet. Hieronder wat redenen waarom je een tabel zou kunnen gebruiken.
| Reden | Beschrijving |
|---|---|
| Reden 1 | Het is overzichtelijk |
| Reden 2 | Je kunt data netjes organiseren |
| Reden 3 | Het is gemakkelijk om data te vergelijken |
| Reden 4 | Je kunt rijen en kolommen gebruiken om structuur aan te brengen |
- table-tag: om aan te geven dat het een tabel is
- thead-tag: hier kun je de koppen plaatsen
- tbody-tag: hier komt de data
- tr-tag: voor iedere rij gebruik je een tr-tag
- th-tag: deze gebruik je voor de koppen
- td-tag: deze gebruik je voor iedere cel
<table>
<thead>
<tr>
<th>Reden</th>
<th>Beschrijving</th>
</tr>
</thead>
<tbody>
<tr>
<td>Reden 1</td>
<td>Het is overzichtelijk</td>
</tr>
<tr>
<td>Reden 2</td>
<td>Je kunt data netjes organiseren</td>
</tr>
<tr>
<td>Reden 3</td>
<td>Het is gemakkelijk om data te vergelijken</td>
</tr>
<tr>
<td>Reden 4</td>
<td>Je kunt rijen en kolommen gebruiken om structuur aan te brengen</td>
</tr>
</tbody>
</table>
Kleuren met CSS
De website is nu best wel saai. Je hebt een witte achtergrond met zwarte letters. Om de website wat mooier te maken
heb je CSS nodig.
Hiervoor heb je een style-tag nodig. Deze kun je plaatsen tussen je head-tag zoals in bovenstaand voorbeeld.
Een mooie achtergrond
Nu willen we een mooie achtergrond maken. Het eerste wat je moet doen is duidelijk aangeven in de style-tag welk element je wilt stylen. In dit geval kiezen we de body-tag omdat de gehele website daarin staat. Vervolgens zet je tussen { } de styling die je wilt doorvoeren. Als we de achtergrond willen veranderen, kunnen we daarvoor background-color gebruiken of voor een plaatje background-image. Sluit iedere regel af met een ;. Hieronder twee voorbeelden:
Geef je tekst een mooie kleur
Het is ook goed mogelijk om teksten een kleur te geven. Ook hiervoor kun je CSS gebruiken. Dit kun je doen door de tag te benoemen die je een kleur wilt geven en vervolgens een regel met color: toe te voegen. Hieronder een voorbeeld waarbij de h1-tag blauw wordt gemaakt en de h2-tag groen.
Les 3: Plaatjes, linkjes en divs
Plaatjes toevoegen
Laten we de website wat mooier maken door een plaatje toe te voegen. Dit kan heel eenvoudig door de img-tag te gebruiken. Zorg dat je het plaatje op dezelfde plek hebt staan als je .html-bestand. In de src="" zet je de naam van het plaatje + extensie (.jpg bijvoorbeeld)
<img src="plaatje.jpg">
Link toevoegen
Het is ook mogelijk om een link naar een andere website te maken. Dit kan heel eenvoudig door het gebruik van een a-tag. Hieronder een voorbeeld van een link + de code. In de href="" plaats je de link. En tussen de a-tag plaats je de tekst die je wilt geven aan de link.
Klik hier
<a href="https://lodenstein.enverio.nl">Klik hier</a>
Een div
Tot nu toe heb je alles onder elkaar gezet. Ik kan mij voorstellen dat het ook handig is om dingen naast elkaar te zetten. Daarvoor heb je weer CSS nodig. De techniek die je daarvoor kunt gebruiken is flexbox. Het eerste wat je nodig hebt is het gebruik van een div. Een div is een tag die in principe niets doet tot je er CSS aan toevoegt. Alleen moet je er dan wel voor zorgen dat CSS weet welke div aangepast dient te worden. Dit kan door de div een naam te geven. Dit noemen we een id. Hieronder een voorbeeld van een div met een id.
<div id="naamvandediv">Wat tekst in de div</div>
Nu zouden we de tekst in de div een aparte kleur kunnen geven. Omdat de div een id heeft, kunnen we in CSS heel makkelijk deze div apart aanpassen. Dit kun je doen door een # te gebruiken en dan de naam van de div.
Meerdere divs tegelijk stylen
Het kan ook zijn dat je meerdere divs tegelijk wilt stylen. Bijvoorbeeld een kleur geven. In het vorige voorbeeld zag je dat we een id gebruikten. Nadeel van een id is dat je deze maar 1 keer kunt gebruiken. Iedere div met een id moet een unieke naam hebben. Hiervoor hebben ze wat anders uitgevonden: een class. Door het class-attribuut te gebruiken in plaats van een id kun je meerdere divs dezelfde naam geven en stylen met CSS.
<div class="naamvaneendiv">Div1</div>
<div class="naamvaneendiv">Div2</div>
<div class="naamvaneendiv">Div3</div>
Les 4: flexbox
Meerdere divs maken
Tot nu toe hebben we alles onder elkaar gezet. Het is ook goed mogelijk om zaken naast elkaar te zetten. Hiervoor heb je flexbox nodig. Hiervoor heb je wel meerdere divs nodig. Zorg dat je deze eerst maakt.
<div class="hoofddiv">
<div>Links</div>
<div>Midden</div>
<div>Rechts</div>
</div>
Nu zul je zien dat de divs onder elkaar staan. Dit kunnen we oplossen met flexbox. Je kunt dit doen door de hoofddiv class in css display: flex; te geven.
display :flex;
Je ziet dat de divs mooi naast elkaar staan. Maar we zien dat deze div nu niet schermvullen is. Dit kun je makkelijk aanpassen via CSS. Daarvoor kun je de width CSS parameter gebruiken. Hieronder een voorbeeld.
width: 100%;
background-color: green;
Voorbeeld div:
Divs verdelen vis Flexbox
Je hebt nu al een div gemaakt in opdracht 12 met daarin drie divjes die via flexbox naast elkaar staan. Alleen willen we deze div nu schermvullend maken en de divjes erin gelijkmatig verdelen. Ook hiervoor heeft flexbox een oplossing.
justify-content: space-between;
De justify-content bepaald hoe de divs worden verdeeld. Je kunt deze koppelen aan je hoofddiv. Je kunt ook andere opties gebruiken om de divs te verdelen. Bijvoorbeeld 'flex-end'. Dan komen alle divs aan het eind. Of bijvoorbeeld 'flex-start'. Daarmee komen de divs aan het begin.
Leuke trucjes met flexbox
Super simpel dus eigenlijk. Maar met flexbox kun je nog veel meer.
Hieronder zie je een mooi plaatje met daarin de mogelijkheden van flexbox. Deze kun je er nog eens bijpakken als je
flexbox wilt gebruiken.
Les 5: Positionering en Layout
Wat is positionering in CSS?
Positionering is een van de belangrijkste aspecten van webdesign. Het bepaalt hoe elementen zoals tekst, afbeeldingen en knoppen op een webpagina worden geplaatst. Door positionering te begrijpen en goed toe te passen, kun je ervoor zorgen dat je website er georganiseerd uitziet en prettig is voor gebruikers.
Verschillende soorten positionering in CSS
CSS biedt verschillende methoden om elementen op een pagina te positioneren. Dit zijn de meest gebruikte positioneringsopties:
1. Static
Dit is de standaardwaarde van positionering. Een element met position: static; wordt gewoon weergegeven op de plek waar het normaal in de documentstroom zou staan. Dit betekent dat het element geen speciale positioneringsregels volgt.
div {
position: static;
}
2. Relative
Een element met position: relative; wordt relatief gepositioneerd ten opzichte van zijn normale positie. Je kunt het verschuiven met behulp van de eigenschappen top, right, bottom, en left. Het behoudt echter zijn oorspronkelijke ruimte op de pagina.
div {
position: relative;
top: 20px;
left: 10px;
}
3. Absolute
Een element met position: absolute; wordt gepositioneerd ten opzichte van het dichtstbijzijnde ouderelement dat niet position: static; heeft. Als er geen ouderelement is met een andere positionering, wordt het element ten opzichte van het document (de hele pagina) gepositioneerd.
div {
position: absolute;
top: 50px;
right: 30px;
}
In dit voorbeeld wordt het element 50 pixels vanaf de bovenkant van het ouderelement gepositioneerd en 30 pixels vanaf de rechterkant.
4. Fixed
Een element met position: fixed; wordt relatief gepositioneerd ten opzichte van het browservenster. Zelfs als de gebruiker naar beneden of omhoog scrollt, blijft het element op dezelfde plaats staan.
div {
position: fixed;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
background-color: yellow;
}
In dit voorbeeld blijft het element altijd in de rechterbenedenhoek van het venster.
Padding en Margin
CSS biedt twee belangrijke eigenschappen om ruimte binnen en buiten een element te creëren: padding en margin.
1. Padding
Padding is de ruimte binnen een element, tussen de inhoud (zoals tekst of afbeeldingen) en de rand van het element. Padding zorgt ervoor dat de inhoud niet strak tegen de randen aan zit.
Voorbeeld van padding in CSS:
div {
padding: 20px; /* Zorgt voor ruimte binnen het element */
background-color: lightblue;
}
2. Margin
Margin is de ruimte buiten een element, tussen de rand van het element en omliggende elementen. Met margin kun je afstand creëren tussen verschillende elementen op de pagina.
Voorbeeld van margin in CSS:
div {
margin: 10px; /* Zorgt voor ruimte buiten het element */
background-color: lightgreen;
}
Een element centreren met `margin: 0 auto;`
Als je een element op je website horizontaal wilt centreren, zoals een blok of een container, kun je gebruik maken van de CSS-marge-eigenschap. Specifiek kun je de volgende regel gebruiken:
div {
width: 50%; /* Zorg ervoor dat het element een breedte heeft */
margin: 0 auto; /* De marge boven/onder is 0 en links/rechts automatisch */
}
Hier zorgt `margin: 0 auto;` ervoor dat het element automatisch wordt uitgelijnd in het midden van de pagina, zolang het een breedte heeft die kleiner is dan de volledige breedte van de pagina.
Uitleg van de code:
- width: 50%; Dit stelt de breedte van het element in op de helft van de breedte van de pagina.
- margin: 0 auto; De eerste waarde (0) geeft geen ruimte boven en onder het element. De tweede waarde (auto) zorgt ervoor dat er automatisch gelijke marges aan de linker- en rechterkant van het element worden toegevoegd, wat het element in het midden van de pagina plaatst.
Opdrachten
Opdracht 14:
Maak een div en geef deze een padding van 20 pixels. Kijk hoe de inhoud van de div verder van de rand komt te staan.
Opdracht 15:
Maak twee div-elementen onder elkaar en geef de bovenste div een margin van 30 pixels aan de bovenkant. Bekijk hoe de ruimte tussen de twee div-elementen groter wordt.
Opdracht 16:
Maak twee div-elementen op je website:
- Geef het eerste
div-element de eigenschapposition: relative;en verplaats het 50 pixels naar rechts en 30 pixels naar beneden. - Maak vervolgens een tweede
divbinnen het eerstediv-element en geef het de eigenschapposition: absolute;mettop: 0;enleft: 0;.
Vraag: Waar wordt het tweede div-element geplaatst, en waarom?
Opdracht 17:
Maak een div op je website en stel de breedte in op 50%. Gebruik vervolgens margin: 0 auto; om deze div in het midden van de pagina te centreren. Voeg een achtergrondkleur toe zodat je goed kunt zien dat het element in het midden staat.
Les 6: CSS Animaties en Kleuren
Wat zijn CSS-animaties?
CSS-animaties zorgen ervoor dat je elementen op je website dynamisch kunt laten bewegen of geleidelijk kunt veranderen van stijl. Dit kan bijvoorbeeld een knop zijn die van kleur verandert wanneer je eroverheen beweegt, of een afbeelding die langzaam inzoomt. Animaties geven je website een meer interactieve en levendige uitstraling.
Met CSS kun je zowel eenvoudige animaties als complexe overgangen maken. CSS-transities zijn een manier om veranderingen van stijl vloeiend te laten verlopen, terwijl volledige animaties meer controle geven over de beweging van elementen.
CSS Transities
Transities zijn een eenvoudige manier om een vloeiend effect toe te voegen wanneer een element van stijl verandert. Bijvoorbeeld, als een knop normaal blauw is en je wilt dat deze groen wordt wanneer je er met de muis overheen beweegt, kun je een transitie toevoegen zodat de verandering soepel verloopt in plaats van abrupt.
.button {
background-color: blue;
color: white;
padding: 10px;
border: none;
transition: background-color 0.3s ease; /* Transitie toevoegen */
}
.button:hover {
background-color: green; /* Verandert naar groen bij hover */
}
In dit voorbeeld verandert de knop van blauw naar groen wanneer de gebruiker er met de muis overheen beweegt, en de verandering duurt 0.3 seconden.
Kleuren gebruiken in CSS
Kleuren spelen een grote rol in het ontwerp van een website. Ze zorgen voor visuele aantrekkingskracht en kunnen de sfeer van een website bepalen. CSS biedt verschillende manieren om kleuren toe te voegen en aan te passen:
- Kleurcodes: Je kunt kleuren instellen met hexadecimale codes (zoals
#ff0000voor rood), RGB-waarden (zoalsrgb(255, 0, 0)), of kleurnaam (zoalsred). - Overgangen: Je kunt ook kleurovergangen (gradients) gebruiken, waarbij twee of meer kleuren geleidelijk in elkaar overlopen. Bijvoorbeeld:
background: linear-gradient(to right, red, yellow);.
Hier is een voorbeeld van een element met een mooie kleurverloop als achtergrond:
.div {
width: 200px;
height: 200px;
background: linear-gradient(to right, #ff7f50, #1e90ff);
}
In dit voorbeeld loopt de achtergrondkleur van koraal (oranje) naar diepblauw, wat zorgt voor een aantrekkelijk visueel effect.
Extra: draaiende animatie
CSS-animaties kunnen eenvoudig gebruikt worden om objecten op je website dynamisch te laten bewegen.
Een voorbeeld hiervan is een draaiende animatie, waarbij een element continu rond zijn eigen as draait.
Hieronder zie je een blokje dat continu rondjes draait dankzij de rotate() eigenschap in CSS.
Dit effect wordt bereikt door een CSS-keyframe animatie toe te voegen met de naam spin,
die de transform: rotate() eigenschap gebruikt om het blokje 360 graden te laten draaien.
De animatie duurt 2 seconden en herhaalt zich oneindig. Hier is de code die gebruikt is:
.animation-box {
width: 100px;
height: 100px;
background-color: lightblue;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
animation: spin 2s infinite linear;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
Opdrachten
Opdracht 18:
Voeg een transitie toe aan een knop op jouw website. Laat de kleur van de div veranderen wanneer de gebruiker er met de muis overheen beweegt. Zorg ervoor dat de verandering soepel verloopt door gebruik te maken van de transition-eigenschap.
Opdracht 19:
Voeg een kleurverloop toe aan de achtergrond van een div op je website. Experimenteer met verschillende kleuren en probeer een lineair of radiaal kleurverloop te maken met de linear-gradient of radial-gradient functie.
Extra: opdracht 20:
Voeg een draaiend element toe aan je website
Checklist voor je opdrachten
Hieronder een checklist waarmee je kunt kijken of je alles hebt gehad van de opdrachten.Les 1: Hoe zet je een HTML-pagina op?
- HTML-bestand aangemaakt en opgeslagen als .html-bestand.
- Een standaard HTML-pagina gemaakt.
- Titel toegevoegd met de
<h1>-tag. - Paragraaf toegevoegd waarin wordt uitgelegd waarom HTML wordt gebruikt.
- Belangrijke woorden vetgedrukt en/of onderstreept.
- Opsomming gemaakt met
<ul>en<li>-tags.
Les 2: Tabel en kleur?
- Tabel gemaakt met een
<table>,<thead>, en<tbody>-structuur. - Kolommen toegevoegd: lesnummer, datum, en wat geleerd.
- Achtergrondkleur of -afbeelding toegevoegd aan de website.
- Tekstkleur aangepast voor de titel en paragrafen.
Les 3: Plaatjes, linkjes en divs
- Een plaatje toegevoegd met de
<img>-tag. - Werkende link toegevoegd met de
<a>-tag. - Div gemaakt met een unieke
iden een rode kleur gegeven (via CSS). - Meerdere divs gestyled met een gedeelde
class.
Les 4: Flexbox
- Div-structuur gemaakt met drie secties: links, midden, rechts.
- CSS toegepast met
display: flex;om de divs naast elkaar te zetten. - Brede div gemaakt met
width: 100%;. - Evenredige verdeling van de divs met
justify-content: space-between;. - Flex-direction geëxperimenteerd met
row-reverseencolumn.
Les 5: Positionering
- Padding toegevoegd aan een element.
- Margin toegevoegd aan een element.
- Element gepositioneerd met
position: relative;. - Element binnen een andere div gepositioneerd met
position: absolute;. - Een div gecentreerd met
margin: 0 auto;.
Les 6: CSS-animaties en kleuren
- CSS-transitie toegevoegd aan een knop.
- Kleurverloop toegevoegd aan een achtergrond.
- Dynamisch draaiend element toegevoegd met een CSS-animatie.
Ontwerpprincipes voor Webdesign
1. Hiërarchie
Hiërarchie helpt om belangrijke elementen op de juiste manier te organiseren, zodat de aandacht van de gebruiker naar de belangrijkste onderdelen wordt getrokken. Dit betekent dat je de inhoud van een pagina ordent op basis van wat het meest belangrijk is, bijvoorbeeld met titels en subkoppen.
Een website bestaat meestal uit een logische structuur met een **menu**, **header**, **body** en **footer**. Dit helpt gebruikers om de website snel te begrijpen en te navigeren. Hieronder leggen we uit hoe deze onderdelen werken:
1. Menu
Het menu bevindt zich meestal bovenaan de pagina of in een zijbalk. Hierin staan links naar belangrijke pagina's zoals "Home", "Over ons" en "Contact". Het menu helpt gebruikers om eenvoudig door de website te navigeren.
Hieronder een voorbeeld van een eenvoudig menu met HTML:
<ul id="menu">
<li><a href="#home">Home</a></li>
<li><a href="#over-ons">Over Ons</a></li>
<li><a href="#diensten">Diensten</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
Hieronder wat CSS die je kunt gebruiken om het menu te stijlen: - #menu = maakt de lijst horizontaal met flex en verwijderd de bolletjes. Verder wordt er een mooie achtergrondkleur gemaakt.
- #menu li a = verwijder het standaard lijntje onder de link.
- #menu li a:hover = als je met je muis over het menu heen gaat dan krijgt deze een andere kleur
#menu {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
background-color: #333;
}
#menu li a {
text-decoration: none;
}
#menu li a:hover {
background-color: #575757;
}
2. Header
De header bevat meestal de **titel** van de website (vaak in een `h1`-tag) en kan ook een korte omschrijving of slogan bevatten. De header is het eerste dat gebruikers zien, dus het moet duidelijk en aantrekkelijk zijn.
3. Body
De body is het grootste deel van de pagina waar de inhoud staat, zoals tekst, afbeeldingen, video's en meer. Gebruik **subkoppen** (zoals `h2`) om de tekst te verdelen en het leesbaar te maken. Dit helpt gebruikers om snel door de inhoud te scrollen en relevante informatie te vinden.
4. Footer
De footer staat onderaan de pagina en bevat vaak aanvullende informatie zoals copyright, links naar het privacybeleid, of social media links. De footer is een handige plek voor informatie die altijd beschikbaar moet zijn, maar minder prominent hoeft te zijn.
2. Witruimte
Witruimte is de ruimte rondom elementen, zoals tekst, afbeeldingen of knoppen. Het zorgt ervoor dat het ontwerp overzichtelijk en rustig oogt, waardoor het voor gebruikers makkelijker wordt om de informatie te lezen en te begrijpen. Door voldoende witruimte te gebruiken, kun je de aandacht vestigen op belangrijke onderdelen en een esthetisch prettig ontwerp creëren.
Gebruik van Margin en Padding
Er zijn twee belangrijke CSS-eigenschappen om witruimte te creëren: **margin** en **padding**.
1. Padding
Padding is de ruimte binnen een element, tussen de inhoud (zoals tekst) en de rand van het element. Door padding toe te voegen, kun je de inhoud losmaken van de rand, wat de leesbaarheid bevordert. Bijvoorbeeld: padding kan worden gebruikt om tekst in een knop meer ruimte te geven, waardoor deze er aantrekkelijker uitziet en makkelijker te lezen is.
2. Margin
Margin is de ruimte buiten een element, tussen het element en andere omliggende elementen. Door marge aan te passen, kun je afstand creëren tussen verschillende onderdelen van de pagina, zoals paragrafen, afbeeldingen of secties. Hierdoor voorkom je dat de elementen te dicht op elkaar staan, wat het ontwerp rustiger maakt.
Waarom Witruimte Belangrijk Is
Witruimte speelt een cruciale rol in webdesign, omdat het zorgt voor een prettige leeservaring. Het helpt om de pagina visueel te ordenen, zodat gebruikers eenvoudig door de inhoud kunnen navigeren. Ook draagt witruimte bij aan een professionele uitstraling, wat de geloofwaardigheid van de website kan versterken.
3. Simpel kleurgebruik
Kleuren hebben verschillende betekenissen en associaties, die vaak afhankelijk zijn van cultuur, psychologie en persoonlijke ervaring. Hieronder een overzicht van enkele algemene betekenissen van kleuren: Zien hieronder een voorbeeld:
Hex kleuren
Hex colors (hexadecimale kleuren) zijn een manier om kleuren digitaal te definiëren met behulp van een combinatie van zes letters en/of cijfers. Ze worden veel gebruikt in webdesign en programmeren, vooral in HTML, CSS en andere webgerelateerde technologieën. Een hex color bestaat uit een # gevolgd door zes karakters. Deze karakters zijn onderverdeeld in drie paren, die elk een kleurcomponent vertegenwoordigen: rood (R), groen (G) en blauw (B). Zoek op htmlcolorcodes.comKleurcombinaties
Om uit te zoeken welke kleuren bij elkaar passen kun je deze website gebruiken: colorhunt.co4. Consistentie in knoppen en links
Gebruik consistente stijlen voor knoppen en links, zodat gebruikers weten wat interactief is.
Klik hier6. Call to Action (CTA)
Een duidelijke Call to Action nodigt de gebruiker uit om actie te ondernemen. Een gebruiker kijkt maar 6 seconden naar je website gemiddeld! Zorg er dus voor dat je CTA duidelijk is.
Hieronder een lijst met tips!- Binnen 5 seconden zien waar je website over gaat met H1
- Gebruik H2 voor meer uitleg
- 1 Call to action knop (actie gericht!)
- Opsomming voor extra info
- Altijd gebruik maken van een beeld
Bekijk dit filmpje als je meer wilt weten:
7. Contrast
Zorg voor voldoende contrast tussen tekst en achtergrond voor betere leesbaarheid. De kleuren van je website moeten er dus voor zorgen dat gebruikers jouw website goed begrijpen en dat de tekst goed leesbaar is.
Waarom is contrast belangrijk?
- Toegankelijkheid: Contrast maakt content beter zichtbaar voor mensen met visuele beperkingen.
- Gebruiksvriendelijkheid: Gebruikers kunnen snel belangrijke elementen identificeren, zoals knoppen of koppen.
- Esthetiek: Het creëert visuele interesse en een professionele uitstraling.
Eindproject: Jouw Eigen Hobby Website
Projectdoel:
Je gaat een persoonlijke hobby-website maken waarop bezoekers meer informatie kunnen vinden over het thema wat jij interessant vindt. Dit is je kans om alles wat je hebt geleerd over HTML en CSS toe te passen en een website te maken die je eigen stijl en creativiteit laat zien!
Wat moet erin zitten?
- Homepagina: Een welkomstpagina met een introductie over jouw thema. Gebruik hier mooie kopteksten en paragraven om je verhaal te vertellen. Voeg eventueel een leuke achtergrond toe. Maak ook meteen een mooie header waarmee je direct kunt zien waar de website over gaat.
- Afbeeldingen pagina: Een pagina waar je een aantal van je hobbys laat zien. Dit kan in de vorm van een galerij van plaatjes met bijbehorende beschrijvingen.
- Pagina over jezelf: Maak een pagina over jezelf en vertel waarom dit thema je zo aanspreekt.
- CSS-styling: Maak gebruik van kleuren, lettertypen en layouttechnieken (zoals Flexbox en Positionering) om je website er professioneel en mooi uit te laten zien. Voeg ook minstens één CSS-animatie toe om je site wat levendiger te maken.
Bonuspunten:
- Voeg creatieve CSS-animaties toe die je site dynamischer maken. (1 extra punt)
- Gebruik kleurovergangen voor achtergronden of knoppen om visuele effecten toe te voegen. (1 extra punt)
- Voeg een extra pagina toe met daarin een blog over jouw hobby (1 extra punt)
- Contactpagina: Maak een contact pagina waarin mensen meer informatie krijgen over hoe ze jou kunnen bereiken. (1 extra punt)
Leveringsinstructies:
Maak je website volledig in HTML en CSS. Lever je eindproject in als een zip-bestand met alle HTML- en CSS-bestanden en eventuele afbeeldingen.
Rubric voor Beoordeling van het Websiteproject
| Categorie | Uitstekend (5 punten) | Goed (4 punten) | Voldoende (3 punten) | Onvoldoende (2 punten) | Slecht (1 punt) |
|---|---|---|---|---|---|
| HTML-Structuur | De HTML is semantisch correct, goed georganiseerd, en bevat alle vereiste elementen zoals kopteksten, paragrafen, lijsten, afbeeldingen, links, en tabellen. | HTML bevat de meeste vereiste elementen, maar mist enkele semantische tags of de organisatie kan beter. | HTML werkt, maar mist structuur en een aantal vereiste elementen. | HTML is onvolledig en slecht georganiseerd. | HTML bevat veel fouten en werkt niet goed. |
| Hint: gooi je HTML eens in de W3C validator om te controleren of je de HTML goed gebruikt | |||||
| CSS-Styling | CSS is professioneel en consistent toegepast, met aandacht voor kleuren, typografie, padding, margin, en achtergrondafbeeldingen. | CSS is goed toegepast, maar mist hier en daar consistentie in kleuren of typografie. | CSS is functioneel, maar bevat minimale styling of is inconsistent. | CSS is onvolledig of niet goed toegepast; veel elementen zijn ongestileerd. | CSS ontbreekt grotendeels of bevat veel fouten. |
| Tabel en Lijsten | Tabellen en lijsten worden correct gebruikt en zijn goed gestileerd voor leesbaarheid en esthetiek. | Tabellen en lijsten zijn correct gebruikt, maar missen verfijnde styling. | Tabellen en lijsten zijn aanwezig, maar niet correct gestileerd. | Tabellen en lijsten zijn onjuist gebruikt of ontbreken. | Geen gebruik van tabellen en lijsten waar dit nodig was. |
| Afbeeldingen en Links | Afbeeldingen en links zijn goed geïntegreerd, correct gepositioneerd en werken zoals bedoeld. | Afbeeldingen en links werken, maar sommige kunnen beter gepositioneerd of gestileerd worden. | Afbeeldingen en links zijn functioneel, maar slecht gepositioneerd. | Sommige afbeeldingen of links werken niet goed of ontbreken. | Afbeeldingen en links ontbreken grotendeels of zijn volledig disfunctioneel. |
| Flexbox Lay-out | Flexbox is gebruikt om een responsieve lay-out te maken die goed werkt op verschillende schermformaten. | Flexbox is correct gebruikt, maar de lay-out kan nog verfijnd worden. | Flexbox is toegepast, maar er zijn duidelijk problemen met de lay-out. | Flexbox is onjuist toegepast of levert problemen op verschillende apparaten. | Flexbox ontbreekt of werkt helemaal niet. |
| Kleuren en Contrast | Kleuren en contrast versterken de leesbaarheid en passen perfect bij het thema van de site. | Kleuren en contrast zijn goed gekozen, met kleine verbeterpunten voor leesbaarheid of thematische samenhang. | Kleuren en contrast zijn functioneel, maar missen consistentie of samenhang met het thema. | Kleuren en contrast zorgen voor leesbaarheidsproblemen of passen niet bij het thema. | Kleuren en contrast zijn slecht gekozen, waardoor de site moeilijk te bekijken is. |
| Hint: gebruik deze website om een kleur te vinden in hex formaat: htmlcolorcodes.com en deze website om een goede combinatie te vinden: colorhunt.co | |||||
| Consistentie in Design | Het design is volledig consistent in kleuren, lettertypen, marges en stijlen, wat zorgt voor een professionele uitstraling. | Het design is grotendeels consistent, met kleine afwijkingen in stijlen of lettertypen. | Het design is deels consistent, maar mist harmonie tussen verschillende pagina’s of secties. | Het design is inconsistent, met duidelijke verschillen in stijlen, kleuren of opmaak. | Het design is chaotisch en mist volledige consistentie. |
Beoordelingsschaal verplichte onderdelen
35 punten: Basismaximumscore voor verplichte onderdelen.
36-42 punten: Inclusief optionele onderdelen, volledig en uitstekend uitgevoerd.
29-34 punten: Goed werk met enkele fouten of verbeterpunten.
21-28 punten: Voldoende, maar met aanzienlijke ruimte voor verbetering.
Onder 21 punten: Onvoldoende; de basis ontbreekt of veel onderdelen zijn incorrect.
De bonuspunten komen er extra bij. Die kunnen je cijfer dus mooi opkrikken.Hieronder een aantal voorbeelden van mooie websites over een bepaald thema ter inspiratie: