Wat is CSS3?
CSS3 is de derde grote revisie van Cascading Style Sheets (CSS), de opmaaktaal die wordt gebruikt om de visuele presentatie van HTML- en XML-documenten te beschrijven. In plaats van als één monolithische specificatie te worden uitgebracht, is CSS3 georganiseerd in onafhankelijke modules—zoals Selectors, Box Model, Backgrounds and Borders en Animations—die elk op hun eigen tijdlijn kunnen worden ontwikkeld, bijgewerkt en geïmplementeerd door browsers. Deze modulaire aanpak verving de ene grote specificatie uit CSS2, waardoor de taal stapsgewijs kon evolueren zonder een volledige herziening te vereisen.
Voortbouwend op de fundamentele opmaak- en typografieregels uit eerdere versies, breidt CSS3 de taal uit met mogelijkheden voor transities, animaties, flexibele lay-outs, aangepaste lettertypen en geavanceerde selectors, naast vele andere. Dankzij deze toevoegingen kunnen ontwikkelaars complexe visuele effecten en responsieve ontwerpen rechtstreeks in stylesheets implementeren, zonder afhankelijk te zijn van JavaScript of externe plugins. CSS3 wordt ondersteund door alle grote moderne browsers en blijft de huidige standaard voor de opmaak van webdocumenten.
Geschiedenis
Eerdere versies van CSS werden gepubliceerd als enkelvoudige, uniforme specificaties — CSS1 in 1996 en CSS2 in 1998 — wat betekende dat de volledige taal als één document herzien moest worden bij elke wijziging. Deze aanpak bleek moeilijk te onderhouden naarmate het web complexer werd, omdat een vertraging in één onderdeel van de specificatie de voortgang overal elders ophield. Het World Wide Web Consortium (W3C), het normalisatieorgaan verantwoordelijk voor CSS, reageerde door de taal te herstructureren naar een modulaire architectuur beginnend met wat collectief CSS3 wordt genoemd. In plaats van één versienummer verwijst CSS3 naar een familie van onafhankelijke modules — Selectors, Flexbox, Grid, Transitions, Animations en vele andere — die elk op hun eigen tijdlijn kunnen worden opgesteld, beoordeeld en gestandaardiseerd.
Dit modulaire systeem betekent dat browseraanbieders individuele functies kunnen implementeren en uitrollen zodra de respectievelijke specificaties volwassen zijn, zonder te wachten op een allesomvattende release. Het W3C kent elke module een status toe — Working Draft, Candidate Recommendation of Proposed Recommendation — die aangeeft hoe stabiel en volledig die module op een bepaald moment is. Vanwege deze structuur is er geen vaste "CSS3"-releasedatum; sommige modules, zoals CSS Transitions, bereikten de status Candidate Recommendation jaren voor andere. In de praktijk behandelen ontwikkelaars CSS3 als een verzamelnaam voor de brede set mogelijkheden die werden geïntroduceerd na CSS2.1, ook al blijven de onderliggende specificaties onafhankelijk evolueren onder toezicht van het W3C.
Hoe het werkt
CSS3 werkt op hetzelfde fundamentele principe als zijn voorgangers: de cascade, die bepaalt welke stijlregels van toepassing zijn wanneer meerdere regels hetzelfde element targeten. De cascade evalueert regels op basis van drie factoren — oorsprong (browserstandardinstellingen, auteurstylesheets of gebruikersvoorkeuren), specificiteit (hoe precies een selector een element target) en bronvolgorde (latere regels overschrijven eerdere regels wanneer al het andere gelijk is). Specificiteit wordt berekend door selectortypes te wegen: inline stijlen hebben het hoogste gewicht, gevolgd door ID's, vervolgens klassen en pseudo-klassen, en daarna elementtypeselectors. Het begrijpen van deze hiërarchie is essentieel om te voorspellen hoe stijlen worden opgelost in een niet-triviale stylesheet.
CSS3 breidde de beschikbare selectorwoordenschat voor ontwikkelaars aanzienlijk uit, met structurele pseudo-klassen zoals :nth-child() en :not(), evenals attribuutselectors die substrings binnen attribuutwaarden kunnen matchen. In plaats van als één monolithische specificatie te worden uitgebracht, werd CSS3 bewust opgesplitst in onafhankelijke modules — elk voor een afzonderlijk functiegebied zoals selectors, achtergronden, transities of grid-lay-out — waardoor individuele modules op hun eigen tempo het standaardisatieproces kunnen doorlopen. Deze modulaire structuur betekent dat browseraanbieders individuele mogelijkheden kunnen implementeren en uitrollen zodra ze stabiel zijn, in plaats van te wachten tot een uitgebreide versie volledig is afgerond.

Lay-out en visuele functies
Elk HTML-element wordt behandeld als een rechthoekig kader dat bestaat uit inhoud, opvulling, rand en marge. CSS3 breidt dit model uit met eigenschappen zoals border-radius, waarmee hoeken van kaders worden afgerond, en box-shadow, die diepte toevoegt zonder extra opmaak. Flexbox, geïntroduceerd in CSS3, gaat verder dan het statische kasmodel door ruimte te verdelen en items dynamisch langs één as uit te lijnen. Samen geven deze eigenschappen ontwikkelaars nauwkeurige controle over hoe elementen worden weergegeven, gespatieerd en visueel gerenderd op verschillende schermformaten.
Belangrijkste modules en functies
CSS3 is georganiseerd in onafhankelijke modules, die elk een afzonderlijk gebied van stijlfunctionaliteit bestrijken. Flexbox (de Flexible Box Layout-module) biedt een eendimensionaal lay-outmodel voor het verdelen van ruimte langs een rij of kolom, waardoor het eenvoudig is om items uit te lijnen en te herordenen ongeacht hun grootte. CSS Grid breidt dit uit met een tweedimensionaal systeem, waarmee ontwikkelaars tegelijkertijd rijen en kolommen kunnen definiëren en elementen nauwkeurig kunnen plaatsen binnen een benoemde gridstructuur. Samen hebben deze twee lay-outmodules de meeste oudere technieken vervangen — zoals floats en tabelgebaseerde lay-outs — waarop ontwikkelaars eerder steunden.
Buiten lay-out introduceerde CSS3 transities en animaties voor het beheren van hoe eigenschappen veranderen in de loop van de tijd, waardoor vloeiende visuele effecten mogelijk zijn zonder JavaScript. Media queries laten stylesheets toe om verschillende regels toe te passen op basis van viewportafmetingen, schermresolutie of apparaatoriëntatie, en vormen de technische basis van responsief webdesign. Aangepaste eigenschappen (ook wel CSS-variabelen genoemd) laten auteurs toe om herbruikbare waarden te definiëren met de --variabelenaam syntaxis, die vervolgens overal in de stylesheet kan worden gerefereerd en dynamisch kan worden bijgewerkt tijdens uitvoering, waardoor herhaling wordt verminderd en grote stylesheets aanzienlijk eenvoudiger te onderhouden zijn.
Vergelijking van CSS3-modules
Een vergelijking van de belangrijkste CSS3-modules op doel, browserondersteuning en typische gebruikscontext. IE 11-ondersteuning varieert per module en kan fallbacks of polyfills vereisen.

Voor- en nadelen
CSS3 vermindert de afhankelijkheid van JavaScript en externe afbeeldingen voor visuele effecten — kleurovergangen, schaduwen, animaties en afgeronde hoeken zijn allemaal mogelijk in pure CSS, waardoor pagina's lichter en eenvoudiger te onderhouden zijn. Het nadeel is dat browserinconsistenties ervoor zorgen dat bepaalde functies anders werken in verschillende implementaties, waarbij vaak vendor-prefixes of fallbacks nodig zijn. De cascade zelf kan ook een bron van complexiteit worden in grote codebases, waar specificiteitsconflicten en geërfde stijlen onverwachte resultaten opleveren die moeilijk te debuggen zijn.
Veelvoorkomende toepassingen
CSS3 wordt het meest toegepast in responsief lay-outontwerp, waarbij functies zoals Flexbox en CSS Grid ontwikkelaars in staat stellen om interfaces te bouwen die zich vloeiend aanpassen aan verschillende schermformaten — van mobiele telefoons tot brede desktopmonitoren. Aangepaste eigenschappen (CSS-variabelen) breiden deze mogelijkheid uit door gecentraliseerde thema's mogelijk te maken, waarbij één set waarden voor kleuren, afstand en typografie wereldwijd kan worden bijgewerkt zonder individuele regels aan te raken. Dit maakt CSS3 bijzonder geschikt voor ontwerpsystemen en componentbibliotheken, waar visuele consistentie over vele pagina's en toestanden een kernevereiste is.
Buiten lay-out wordt CSS3 veelvuldig gebruikt voor UI-animatie en interactieve feedback — transities bij hover-toestanden, keyframe-animaties voor laadindicatoren en vloeiende transformaties die toestandswijzigingen communiceren zonder JavaScript. In toegankelijke ontwerpcontexten laten CSS3-functies zoals prefers-reduced-motion media queries ontwikkelaars toe om gebruikersvoorkeuren voor verminderde animatie te respecteren, waardoor het mogelijk is om verzorgde visuele ervaringen te bieden en tegelijkertijd te voldoen aan toegankelijkheidsnormen. Samen maken deze toepassingen CSS3 tot een fundamentele laag in vrijwel elk modern webproject, ongeacht het JavaScript-framework of de backendtechnologie die wordt gebruikt.
Conclusie
CSS3 vertegenwoordigt een fundamentele verschuiving in de manier waarop visuele presentatie op het web wordt afgehandeld. In plaats van één monolithische specificatie te leveren, herstructureerde de CSS Working Group de taal in onafhankelijke modules — die elk op hun eigen tempo evolueren — waardoor browsers nieuwe mogelijkheden stapsgewijs kunnen implementeren en uitrollen. Dit modulaire ontwerp heeft functies zoals Flexbox, CSS Grid, aangepaste eigenschappen en hardwareversnelde animaties bij ontwikkelaars gebracht zonder te wachten tot een volledige specificatie gestabiliseerd is. Het resultaat is een opmaaktaal die gestaag expressiever is geworden terwijl ze geworteld blijft in een consistente, declaratieve syntaxis.
Voor webontwikkelaars is CSS3 niet louter een reeks visuele verbeteringen, maar een lay-out- en ontwerpsysteem dat complexe responsieve interfaces, interactieve toestanden en dynamische thema's volledig binnen de browser kan verwerken. De brede ondersteuning in moderne browsers en de voortdurende publicatie van nieuwe modules door de CSS Working Group betekenen dat de taal actief wordt onderhouden in plaats van statisch te zijn. Het begrijpen van CSS3 — van zijn cascade- en specificiteitsmodel tot zijn nieuwere lay-out- en animatiemogelijkheden — blijft een van de fundamentele competenties voor iedereen die voor het web bouwt.
