Cascading Style Sheets (CSS) is de opmaaktaal die bepaalt hoe HTML- of XML-inhoud wordt gepresenteerd in de browser. CSS scheidt vormgeving van structuur, zodat je consistent typografie, kleuren, afstanden en layouts kunt beheren en hergebruiken over pagina’s en componenten heen.
Belangrijkste concepten
- Cascade & specificiteit: Wanneer meerdere regels op hetzelfde element van toepassing zijn, bepaalt de cascade welke stijl wint. De volgorde is grofweg: inline-styles > ID-selectors > class/attribuut/pseudoklasse > element/pseudo-element. Latere regels overschrijven eerdere met gelijke specificiteit. Gebruik !important spaarzaam. Moderne cascade layers (
@layer) helpen om prioriteit expliciet te sturen. - Box model: Elk element bestaat uit content, padding, border en margin. Met
box-sizing: border-box;wordt groottebeheer voorspelbaarder. - Selectors: Type-, class- en ID-selectors, combinators (
>,+,~, spatie), attribuutselectors en pseudo(‑)klassen zoals:hover,:focus-visible,:not()en pseudo-elementen (::before,::after). - Layoutmethoden: Flexbox (1‑dimensionaal) voor rijen/kolommen en uitlijning; CSS Grid (2‑dimensionaal) voor complexe rasterlayouts. Positionering (
position) en float worden selectief gebruikt. - Responsive design: Media queries (
@media) en container queries maken component- en schermgrootte-afhankelijke stijlen mogelijk. Viewport-eenheden en functies alsclamp()helpen bij fluid typografie en spacing. - Variabelen: CSS Custom Properties (
--kleur-primary) ondersteunen theming, dynamische updates en consistente design tokens. - Animaties & transities: Met
transitionen@keyframesmaak je soepele micro‑interacties. Geef de voorkeur aantransformenopacityvoor performance en respecteerprefers-reduced-motion. - Compatibiliteit & feature detection: Gebruik
@supportsvoor progressieve verbetering. Vendor-prefixes worden vaak automatisch toegevoegd via tooling. - Organisatie & schaalbaarheid: Methodes als BEM, OOCSS, utility-first en cascade layers verbeteren onderhoudbaarheid. Sluit aan op design systems en componentgedreven ontwikkeling.
- Pre- en postprocessing: Sass/SCSS en PostCSS voegen functies toe zoals nesting en autoprefixing. Bundlers bouwen en splitsen styles voor performance (bijv. critical CSS).
- Toegankelijkheid: Verwijder focus-indicatoren niet, waarborg voldoende contrast en ondersteun voorkeuren zoals
prefers-color-scheme(dark mode) enprefers-reduced-motion.
