{"id":57770,"date":"2024-01-22T12:08:58","date_gmt":"2024-01-22T11:08:58","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=57770&#038;preview=true&#038;preview_id=57770"},"modified":"2024-01-26T09:06:56","modified_gmt":"2024-01-26T08:06:56","slug":"geavanceerde-css-technieken","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/","title":{"rendered":"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties"},"content":{"rendered":"<p>CSS is niet alleen meer om sites er mooi uit te laten zien. Het heeft zich ontwikkeld tot een hulpmiddel dat websites tot leven brengt met bewegingen en interacties die ooit voor onmogelijk werden gehouden.<\/p>\n<p>Deze gids is er dan ook op gericht om je op weg te helpen met drie krachtige functies in het bijzonder: overgangen, animaties en transformaties. Het begrijpen en gebruiken van deze geavanceerde technieken is essentieel voor webdesigners en developers die verder zijn dan de <a href=\"https:\/\/kinsta.com\/nl\/blog\/css-best-practices\/\">basisbeginselen van CSS<\/a> en websites willen maken die opvallen &#8212; en de tand des tijds doorstaan.<\/p>\n<p>Tijdens je reis door deze handleiding zul je waardevolle vaardigheden opdoen om je webprojecten te laten opvallen. En hopelijk zul je ook wat inspiratie opdoen!<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Geavanceerde CSS overgangen<\/h2>\n<p>Geavanceerde CSS overgangen maken UI-elementen interactief, aantrekkelijk en zien er natuurlijk mooi uit. Stel je voor dat je een knop op je site hebt. Normaal gesproken staat hij daar gewoon, maar met CSS overgangen verandert hij soepel van kleur of wordt hij iets groter als iemand er met de muis overheen gaat.<\/p>\n<p>Het concept draait om het idee van interpolatie &#8211; vloeiende overgang tussen verschillende toestanden van een CSS properties.<\/p>\n<p>Om deze effecten te cre\u00ebren, zijn er verschillende CSS properties waarmee je vertrouwd moet raken:<\/p>\n<ul>\n<li><strong>Overgangsproperties<\/strong>: Deze omvatten het specificeren van de properties die je wilt animeren (zoals <code>background-color<\/code> of <code>opacity<\/code>), het instellen van de duur van de overgang en het bepalen van de <code>transition-timing-function<\/code> (zoals <code>ease-in<\/code> of <code>linear<\/code>), die dicteert hoe de overgang vordert tijdens de duur.<\/li>\n<li><strong>Timingfuncties<\/strong>: Deze zijn een must omdat ze de versnelling en vertraging van de overgang regelen. Een van de meest veelzijdige opties hier is de functie <code> cubic-bezier<\/code>. Met deze functie kun je aangepaste snelheidscurves maken, waardoor je volledige controle hebt over het tempo van je overgang. Het kan in het begin een beetje lastig zijn, maar gereedschappen zoals <a href=\"https:\/\/cubic-bezier.com\/#.64,.55,.93,.18\" target=\"_blank\" rel=\"noopener noreferrer\">kubus-bezier<\/a> maken het gemakkelijker om deze curven te visualiseren en te maken.<\/li>\n<\/ul>\n<figure id=\"attachment_173234\" aria-describedby=\"caption-attachment-173234\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-173234 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/cubic-bezier.png\" alt=\"cubic-bezier\" width=\"900\" height=\"364\"><figcaption id=\"caption-attachment-173234\" class=\"wp-caption-text\">Een voorbeeld van cubic-bezier in actie.<\/figcaption><\/figure>\n<p>Hier is een eenvoudig voorbeeld om te illustreren hoe je dit zou kunnen gebruiken in je CSS:<\/p>\n<pre><code class=\"language-css\">.my-element {\n\ntransition-property: opacity;\n\ntransition-duration: 0.5s;\n\ntransition-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);\n\n}\n<\/code><\/pre>\n<p>In dit fragment verandert <code>.my-element <\/code>zijn ondoorzichtigheid met een unieke snelheidscurve die wordt gedefinieerd door de functie <code>cubic-bezier<\/code>. Deze curve dicteert een specifiek soort beweging, zoals langzaam beginnen, versnellen en dan weer vertragen naar het einde toe.<\/p>\n<p>Door <code>transition-timing-function<\/code> te gebruiken met aangepaste waarden, kun je je webelementen laten bewegen op een manier die natuurlijker, dynamischer of gewoon anders aanvoelt dan standaard. Het is een geweldig hulpmiddel om wat persoonlijkheid en finesse toe te voegen aan je webanimaties.<\/p>\n<p>Als het gaat om geavanceerde technieken, zijn hier een paar om te overwegen:<\/p>\n<ol>\n<li><strong>Combineren van meerdere properties<\/strong>: Waarom genoegen nemen met het animeren van slechts \u00e9\u00e9n ding? Met CSS kun je meerdere properties op een rij zetten en ze allemaal tegelijk animeren. Dit is perfect om lagen toe te voegen aan je animatie.<\/li>\n<li><strong>Gesynchroniseerde animaties<\/strong>: Je kunt ook verschillende properties op een rij zetten om in hetzelfde tempo te bewegen, waardoor je een meer geco\u00f6rdineerd effect cre\u00ebert.<\/li>\n<li><strong>Nested overgangen<\/strong>: Pas overgangen toe op elementen binnen een container. Op deze manier gedragen de child-elementen zich zoals jij wilt als je interactie hebt met de container.<\/li>\n<\/ol>\n<p>Zorg ervoor dat deze animaties er niet alleen goed uitzien, maar ook soepel lopen, vooral op minder krachtige apparaten. Het gebruik van properties als <code>transform<\/code> en <code>opacity<\/code> is een slimme zet omdat ze gemakkelijker zijn voor je browsers en de prestaties niet te veel be\u00efnvloeden.<\/p>\n<p>Bovendien helpt de property <code>will-change<\/code> je browser om zich voor te bereiden op de actie, zodat alles soepel verloopt.<\/p>\n<p>Dit is een laatste opmerking om ervoor te zorgen dat dit overal werkt: browsers kunnen kieskeurig zijn. Het gebruik van vendor prefixes helpt ervoor te zorgen dat je coole overgangen werken in verschillende browsers. Het is een beetje extra werk, maar tools zoals <a href=\"https:\/\/autoprefixer.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">autoprefixers<\/a> kunnen dit voor je doen, zodat alles probleemloos verloopt.<\/p>\n<h2>Transformaties in CSS<\/h2>\n<p>CSS transformaties zijn een geweldige manier om je webontwerpen interessanter te maken. Ze kunnen natuurlijk worden gebruikt om dingen te verplaatsen, maar ze kunnen ook het hele gevoel van een pagina veranderen. De property <code>transform<\/code> is hier de belangrijkste speler.<\/p>\n<p>Deze is veelzijdig en kan elementen van de ene plek naar de andere verplaatsen, zoals een afbeelding over het scherm schuiven of de grootte ervan veranderen &#8211; denk aan iets dichterbij of verder weg laten lijken, net als in- of uitzoomen op een foto. En als je het een beetje gek wilt doen, kun je zelfs elementen laten ronddraaien.<\/p>\n<p>Echt indrukwekkend wordt het als je 3D transformaties toevoegt aan je pagina. Met functies als <code>translate3d<\/code>, <code>scale3d<\/code> en <code>rotate3d<\/code> kunnen elementen van het scherm springen en zo een meeslepende ervaring cre\u00ebren in de browser.<\/p>\n<p>Neem bijvoorbeeld het <em>flipping card<\/em> effect. Dit is een grappige functie waarbij de ene kant van een kaart bepaalde informatie toont en wanneer de kaart omdraait, wordt er nieuwe inhoud getoond op de andere kant. Dit interactieve element kan enorm de aandacht van je bezoekers trekken.<\/p>\n<p>De sleutel tot dit effect is een effectief gebruik van de property <code>backface-visibility<\/code>. Dit zorgt ervoor dat de <a href=\"https:\/\/css-tricks.com\/almanac\/properties\/b\/backface-visibility\/\" target=\"_blank\" rel=\"noopener noreferrer\">achterkant van de kaart verborgen blijft<\/a> totdat het de bedoeling is dat hij gezien wordt.<\/p>\n<p>Maar waarom zou je het hierbij laten? Als je deze transformaties combineert met overgangen en animaties, kun je zoveel meer uit je CSS halen. Je kunt een knop hebben die elegant groter wordt als je er met de muis overheen gaat of een pictogram dat speels over het scherm beweegt. Deze dynamische veranderingen voegen een vloeiende kwaliteit toe aan je webpagina-elementen, waardoor de gebruikerservaring nog boeiender wordt.<\/p>\n<p>Designmodo biedt verschillende prachtige voorbeelden hiervan. Eerst zie je de <a href=\"https:\/\/designmodo.com\/backface-visibility-css-animation\" target=\"_blank\" rel=\"noopener noreferrer\">CSS voor 3D transformaties<\/a> uitgesplitst. Daarna kun je <a href=\"https:\/\/designmodo.com\/demo\/backface-visibility\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">de code in actie zien<\/a>:<\/p>\n<figure id=\"attachment_173235\" aria-describedby=\"caption-attachment-173235\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-173235 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/designmodo-spinning-donut.png\" alt=\"Designmodo biedt een geweldig voorbeeld van 3D transformaties die prachtig werken.\" width=\"900\" height=\"395\"><figcaption id=\"caption-attachment-173235\" class=\"wp-caption-text\">Designmodo biedt een geweldig voorbeeld van 3D transformaties die prachtig werken.<\/figcaption><\/figure>\n<h2>Container queries<\/h2>\n<p>Container queries zijn een ander aspect van CSS dat het ontdekken waard is. Hiermee kun je elementen stijlen op basis van de grootte van hun container in plaats van de hele schermgrootte. Zie het zo: je hebt een doos en je wilt dat de dingen erin er goed uitzien, hoe groot of klein de doos ook is. Container queries zijn daar perfect voor.<\/p>\n<p>Ze zijn superhandig als je wilt dat verschillende onderdelen van je webpagina, zoals zijbalken of kaarten, er anders uitzien afhankelijk van hoeveel ruimte ze hebben. Elk onderdeel krijgt <a href=\"https:\/\/www.smashingmagazine.com\/2023\/07\/writing-css-2023\/\" target=\"_blank\" rel=\"noopener noreferrer\">zijn eigen stijl<\/a>, onafhankelijk van de rest van de pagina.<\/p>\n<p>Hier volgt een kort overzicht van hoe je ze kunt gebruiken:<\/p>\n<ul>\n<li><strong>Stel de container<\/strong> <strong>in<\/strong>: Vertel CSS eerst welk deel van je pagina een container is. Dit doe je met properties als <code>container-type<\/code> en <code>container-name<\/code>.<\/li>\n<li><strong>Schrijf je queries<\/strong>: Net als media queries, maar dan voor containers. Je schrijft een regel die zegt: &#8220;H\u00e9, als mijn container minstens zo breed is, maak dan deze stijlwijzigingen.&#8221;<\/li>\n<\/ul>\n<p>Zo ziet de basiscode hiervoor eruit:<\/p>\n<pre><code class=\"language-css\">@container (min-width: 300px) {\n\n.component {\n\n\/* styles *\/\n\n}\n\n}<\/code><\/pre>\n<p>In dit voorbeeld worden stijlen binnen de klasse <code>.component<\/code> toegepast wanneer de container een minimale breedte van 300px bereikt.<\/p>\n<p>Nu kunnen container queries worden gebruikt in verschillende scenario&#8217;s, zoals:<\/p>\n<ul>\n<li><strong>Responsieve zijbalken en footers<\/strong>: De breedte en layout van zijbalken of footers aanpassen op basis van de containergrootte.<\/li>\n<li><strong>Responsieve kaarten<\/strong>: Het veranderen van de layout of stijl van kaarten in een grid of flexbox layout op basis van de breedte van hun container.<\/li>\n<\/ul>\n<p>Hoewel container queries worden ondersteund door de belangrijkste browsers, waaronder Chrome, Firefox, Safari en Edge, is het nog steeds een goede gewoonte om ze te gebruiken als een progressieve verbetering. Begin met basisstijlen voor browsers die geen ondersteuning bieden en verbeter ze voor browsers die container queries ondersteunen.<\/p>\n<h2>Flexbox gebruiken voor verticale uitlijning<\/h2>\n<p><a href=\"https:\/\/web.dev\/learn\/css\/flexbox\" target=\"_blank\" rel=\"noopener noreferrer\">Flexbox<\/a> is een ongelooflijk handig hulpmiddel in CSS, vooral als het gaat om verticaal uitlijnen. Hoewel het al een tijdje bestaat, is het nog steeds super relevant, vooral voor het uitlijnen van items langs de dwarsas (die, afhankelijk van je layout, verticaal kan zijn).<\/p>\n<h3>Align-items gebruiken voor verticaal uitlijnen<\/h3>\n<p>Met de property <code>align-items<\/code> in Flexbox kun je items verticaal uitlijnen binnen een container. Het werkt als je flexbox een <code>flex-direction<\/code> van rijen heeft. Met deze property kun je bepalen hoe alle children van een flexcontainer worden uitgelijnd langs de dwarsas.<\/p>\n<p>Als je bijvoorbeeld een heleboel items in een flexcontainer hebt en je wilt ze allemaal verticaal gecentreerd hebben, dan gebruik je <code>align-items: center;<\/code>. Dit zijn de belangrijkste opties die je hebt met <code>align-items<\/code>:<\/p>\n<ul>\n<li><code>flex-start<\/code>: Lijnt items uit aan het begin van de container.<\/li>\n<li><code>flex-end<\/code>: Lijnt items uit aan het einde van de container.<\/li>\n<li><code>center<\/code>: Centreert items in de container.<\/li>\n<li><code>baseline<\/code>: Lijnt items uit op basis van hun basislijn.<\/li>\n<li><code>stretch<\/code>: Strekt items uit om de container te vullen (standaard gedrag).<\/li>\n<\/ul>\n<h3>Align-self gebruiken voor individuele controle<\/h3>\n<p>Hoewel <code>align-items<\/code> geweldig is voor het uitlijnen van alle items in een container, wil je soms slechts \u00e9\u00e9n item anders uitlijnen. Daarom is <code>align-self<\/code> zo handig. Met deze property kun je de waarde <code>align-items<\/code> overschrijven voor individuele flexitems. Het accepteert dezelfde waarden als <code>align-items<\/code>.<\/p>\n<p>Stel bijvoorbeeld dat je een flex container hebt met <code>align-items: center;<\/code>, maar er is \u00e9\u00e9n item dat je aan het begin wilt uitlijnen. Je kunt <code>align-self: flex-start;<\/code> toepassen op dat specifieke item. Het is een geweldige manier om de uitlijning van individuele items nauwkeurig te regelen.<\/p>\n<p>Het kan echter handig zijn om dit in actie te zien.<\/p>\n<p>Stel, je ontwerpt een navigatiebalk met een logo, een aantal links en een zoekbalk. Je wilt de links gecentreerd hebben, het logo bovenaan en de zoekbalk onderaan.<\/p>\n<p>Dit is hoe je het zou kunnen doen:<\/p>\n<pre><code class=\"language-css\">.nav-container {\n\ndisplay: flex;\n\nflex-direction: row;\n\nalign-items: center;\n\n}\n\n.logo {\n\nalign-self: flex-start;\n\n}\n\n.search-bar {\n\nalign-self: flex-end;\n\n}<\/code><\/pre>\n<p>In dit voorbeeld is de <code>.nav-container<\/code> een flexcontainer waarvan de items over het algemeen gecentreerd zijn. Het logo en de zoekbalk wijken echter af van deze algemene regel en worden respectievelijk aan het begin en het einde van de container uitgelijnd.<\/p>\n<h2>Moderne kleurfuncties in CSS<\/h2>\n<p>Moderne kleurfuncties in CSS zijn aanzienlijk ge\u00ebvolueerd en bieden meer verfijnde manieren om kleuren te defini\u00ebren en te manipuleren in webdesign. Laten we eens kijken naar een aantal van deze functies:<\/p>\n<h3>1. rgb() en rgba()<\/h3>\n<p>De functie <code>rgb()<\/code> is een traditionele manier om kleuren te defini\u00ebren met behulp van de kanalen Red, Green en Blue. Elk kanaal kan een waarde hebben tussen 0 en 255. De variant <code>rgba()<\/code> voegt een alfakanaal toe voor ondoorzichtigheid, waarbij 1 volledig ondoorzichtig is en 0 volledig transparant.<\/p>\n<p>Het zou er ongeveer zo uit moeten zien:<\/p>\n<pre><code class=\"language-css\">.example {\n\ncolor: rgb(255, 0, 0); \/* Red *\/\n\nbackground-color: rgba(255, 0, 0, 0.5); \/* Semi-transparent red *\/\n\n}<\/code><\/pre>\n<h3>2. hsl() en hsla()<\/h3>\n<p><code>hsl()<\/code> geeft kleuren weer in termen van Hue, Saturation en Lightness, waardoor het intu\u00eftiever wordt om kleurvariaties te selecteren. Net als <code>rgba()<\/code> bevat <code>hsla()<\/code> een alfakanaal voor ondoorzichtigheid. Zoals dit:<\/p>\n<pre><code class=\"language-css\">.example {\n\ncolor: hsl(120, 100%, 50%); \/* Green *\/\n\nbackground-color: hsla(120, 100%, 50%, 0.3); \/* Semi-transparent green *\/\n\n}<\/code><\/pre>\n<h3>3. oklch() en oklab()<\/h3>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/color_value\/oklch\"><code>oklch()<\/code><\/a> en <code>oklab()<\/code> zijn recentere toevoegingen aan de CSS kleurfuncties. Ze zijn gebaseerd op de <a href=\"https:\/\/www.hunterlab.com\/blog\/what-is-cielab-color-space\/\" target=\"_blank\" rel=\"noopener noreferrer\">CIELAB kleurruimte<\/a>, die is ontworpen om perceptueel uniform te zijn. Dit betekent dat veranderingen in kleurwaarden beter overeenkomen met veranderingen die worden waargenomen door het menselijk oog.<\/p>\n<p>Nu specifiek:<\/p>\n<ul>\n<li><code>oklab()<\/code> wordt gebruikt voor het defini\u00ebren van kleuren in een perceptueel uniforme ruimte.<\/li>\n<li><code>oklch()<\/code> is vergelijkbaar, maar gebruikt cilindrische co\u00f6rdinaten (lightness, chroma en hue).<\/li>\n<\/ul>\n<p>Met deze functies kun je kleuren nauwkeuriger en intu\u00eftiever manipuleren, vooral voor taken als het maken van vloeiende kleurverlopen. Zo zou dat er in code uit kunnen zien:<\/p>\n<pre><code class=\"language-css\">.example {\n\ncolor: oklch(75%, 0.25, 250); \/* A color in oklch *\/\n\nbackground-color: oklab(0.623, 0.172, -0.079); \/* A color in oklab *\/\n\n}<\/code><\/pre>\n<h3>Geavanceerde kleurenschema&#8217;s gebruiken<\/h3>\n<p>Met deze functies, vooral de meer geavanceerde <code>oklch()<\/code> en <code>oklab()<\/code>, kun je ingewikkelde kleurenschema&#8217;s implementeren die visueel consistent en aantrekkelijk zijn. Ze bieden meer controle over hoe kleuren worden weergegeven en waargenomen, zodat je ontwerpen zowel esthetisch aantrekkelijk als toegankelijk zijn.<\/p>\n<p>Als je deze kleurfuncties combineert met CSS functies zoals custom properties (CSS variabelen) en berekeningen, kun je dynamische en flexibele kleursystemen ontwikkelen die zich aanpassen aan verschillende thema&#8217;s, toestanden en omgevingen.<\/p>\n<p>Omdat webstandaarden en browserondersteuning voor deze functies blijven veranderen, kan het omarmen van deze moderne kleurfuncties het visuele ontwerp en de gebruikerservaring van je webprojecten aanzienlijk verbeteren.<\/p>\n<h2>Tekst rond afbeeldingen buigen<\/h2>\n<p>De CSS property <code>shape-outside<\/code> biedt een creatieve manier om <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/shape-outside\" target=\"_blank\" rel=\"noopener noreferrer\">tekst rond afbeeldingen te wikkelen<\/a>, wat bijdraagt aan meer dynamische en visueel interessante layouts en meer geavanceerde <a href=\"https:\/\/kinsta.com\/nl\/blog\/css-styling-afbeeldingen\/\">styling van afbeeldingen<\/a>.<\/p>\n<p>Hiermee kun je een vorm defini\u00ebren waaromheen inline inhoud moet worden gewikkeld. Dit is handig om tekst om afbeeldingen te wikkelen in een niet-rechthoekige vorm, waardoor layouts ontstaan die organischer en visueel boeiender zijn dan de standaard rechthoekige tekstomloop.<\/p>\n<h3>Hoe werkt het?<\/h3>\n<p>Je kunt verschillende vormen defini\u00ebren, zoals cirkels, ellipsen en veelhoeken, of zelfs het alfakanaal van een afbeelding gebruiken om de vorm te bepalen.<\/p>\n<p>De property <code>shape-outside<\/code> is meestal van toepassing op zwevende elementen. En als je een afbeelding zweeft en een <code>shape-outside<\/code> toepast, wikkelt de tekst eromheen volgens de gedefinieerde vorm.<\/p>\n<p>Hier is een eenvoudig voorbeeld van het gebruik van shape-outside met een cirkel:<\/p>\n<pre><code class=\"language-css\">.image {\n\nfloat: left;\n\nshape-outside: circle(50%);\n\nwidth: 200px;\n\nheight: 200px;\n\nmargin-right: 15px;\n\n}<\/code><\/pre>\n<p>In dit voorbeeld wordt de klasse <code>.image<\/code> toegepast op een afbeeldingselement. Het zweeft naar links en de <code>shape-outside: circle(50%);<\/code> cre\u00ebert een cirkelvorm waar de tekst omheen wikkelt. Het effectieve gebruik van <code>shape-outside<\/code> kan nieuwe mogelijkheden openen in je ontwerpen, omdat het tekst laat vloeien rond complexe vormen, waardoor het mogelijk wordt om magazine-achtige layouts en visueel rijke webpagina&#8217;s te maken.<\/p>\n<h2>CSS overvloeimodi<\/h2>\n<p>CSS overvloeimodi bieden een krachtige manier om kleuren en afbeeldingen te mengen, waardoor unieke visuele effecten ontstaan die ook je ontwerpen kunnen verbeteren. Met deze overvloeimodi kun je boeiende teksteffecten, overlappende afbeeldingen en ingewikkelde achtergrondpatronen maken. Om <code>background-blend-mode<\/code> te gebruiken, laten we eerst eens bespreken wat het doet. Deze property wordt gebruikt om te defini\u00ebren hoe de achtergrondafbeeldingen en -kleur van een element in elkaar moeten overvloeien. Als je bijvoorbeeld een achtergrondafbeelding en een achtergrondkleur hebt, kun je ze mengen met verschillende overvloeimodi zoals vermenigvuldigen, scherm, overlay, enz. Zo zou de code eruit kunnen zien:<\/p>\n<pre><code class=\"language-css\">.element {\n\nbackground-image: url('image.jpg');\n\nbackground-color: blue;\n\nbackground-blend-mode: multiply;\n\n}<\/code><\/pre>\n<p>Nu werkt <code>mix-blend-mode<\/code> door de inhoud van een element (inclusief afbeeldingen en tekst) te mengen met de achtergrond. Dit is vooral handig voor <a href=\"https:\/\/kinsta.com\/nl\/blog\/css-tekstomtrek\/\">teksteffecten<\/a> of het overlappen van een afbeelding over een andere. Zoals dit:<\/p>\n<pre><code class=\"language-css\">&lt;\n\n.element {\n\nmix-blend-mode: screen;\n\n}<\/code><\/pre>\n<h3>Populaire overvloeimodi<\/h3>\n<p>Ter referentie zijn hier een paar van de populairste overvloeimodi die je moet kennen om dit effect goed te kunnen gebruiken:<\/p>\n<ul>\n<li><strong>Multiply<\/strong>: Vermenigvuldigt de kleuren van de overvloeilaag en de basislaag, wat resulteert in een donkerdere kleur.<\/li>\n<li><strong>Screen<\/strong>: Maakt de kleuren lichter, het tegenovergestelde van vermenigvuldigen. Dit is handig voor het maken van lichteffecten.<\/li>\n<li><strong>Overlay<\/strong>: Combineert de mengmodi multiplyen screen. Lichte delen van de afbeelding worden lichter en donkere delen worden donkerder.<\/li>\n<li><strong>Darken en lighten<\/strong>: Selecteert respectievelijk de donkerdere of lichtere kleur.<\/li>\n<li><strong>Color dodge en color burn<\/strong>: Maak de basiskleur lichter of donkerder om de overvloeikleur te weerspiegelen.<\/li>\n<li><strong>Difference en exclusion<\/strong>: Gebruikt voor het maken van meer artistieke en omgekeerde kleureffecten.<\/li>\n<\/ul>\n<h2>Aanpassen aan gebruikersvoorkeuren<\/h2>\n<p>Aanpassen aan gebruikersvoorkeuren in webdesign is een cruciaal aspect van het maken van toegankelijke en gebruiksvriendelijke websites. CSS media queries voor voorkeuren zoals <a href=\"https:\/\/www.smashingmagazine.com\/2023\/07\/writing-css-2023\/\"><code>prefers-color-scheme<\/code><\/a> en <code>prefers-reduced-motion<\/code> spelen een belangrijke rol in dit proces.<\/p>\n<p>Laten we deze concepten eens verkennen.<\/p>\n<h3>Prefers-color-scheme<\/h3>\n<p>Deze media query wordt gebruikt om te detecteren of de gebruiker het systeem heeft gevraagd om een licht of donker kleurthema te gebruiken. Het is een handige manier om een donkere modus te implementeren in het ontwerp van een website.<\/p>\n<p>Je kunt <code>prefers-color-scheme<\/code> gebruiken om verschillende stijlen te specificeren voor lichte en donkere modi.<\/p>\n<p>Bijvoorbeeld:<\/p>\n<pre><code class=\"language-css\">\/* Default light mode styles *\/\n\nbody {\n\nbackground-color: white;\n\ncolor: black;\n\n}\n\n\/* Dark mode styles *\/\n\n@media (prefers-color-scheme: dark) {\n\nbody {\n\nbackground-color: black;\n\ncolor: white;\n\n}\n\n}<\/code><\/pre>\n<p>In bovenstaand fragment zijn de standaard stijlen van toepassing op de lichte modus, terwijl de stijlen in de <code>@media<\/code> query van toepassing zijn wanneer de gebruiker de voorkeur geeft aan een donker kleurenschema.<\/p>\n<h3>Prefers-reduced-motion<\/h3>\n<p>Deze media query is ontworpen om te detecteren of de gebruiker het systeem heeft gevraagd om de hoeveelheid animatie of beweging die het gebruikt te minimaliseren. Het is essentieel voor gebruikers die last hebben van bewegingsziekte of vestibulaire stoornissen.<\/p>\n<p>Je kunt <code>prefers-reduced-motion<\/code> gebruiken om animaties en overgangen te verminderen of te verwijderen:<\/p>\n<pre><code class=\"language-css\">\/* Standard animations *\/\n\n.animate {\n\ntransition: transform 0.3s ease;\n\n}\n\n\/* Reduced motion *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n.animate {\n\ntransition: none;\n\n}\n\n}<\/code><\/pre>\n<p>Hier zie je dat animaties worden uitgeschakeld als de gebruiker een voorkeur heeft aangegeven voor minder beweging.<\/p>\n<p>Het opnemen van <code>prefers-color-scheme<\/code> en <code>prefers-reduced-motion<\/code> in je CSS is een stap in de richting van een meer inclusief en gebruiksvriendelijk web, en zorgt ervoor dat je site toegankelijk en comfortabel is voor een breed scala aan gebruikers met verschillende behoeften en voorkeuren.<\/p>\n<h2>Gebruiken van de :is() en :where() pseudo-selectors<\/h2>\n<p>De <code>:is()<\/code> en <code>:where()<\/code> pseudo-selectors in CSS zijn geavanceerde hulpmiddelen voor het beheren van specificiteit en het vereenvoudigen van complexe selectorketens. Laten we eens kijken hoe ze werken en wat voorbeelden uit de praktijk bekijken.<\/p>\n<h3>:is() pseudo-selector<\/h3>\n<p>Met deze selector kun je meerdere elementen targeten met een enkele regel en verminder je de herhaling van soortgelijke selectors. De specificiteit van de <code>:is()<\/code> pseudoklasse is de specificiteit van de meest specifieke selector in zijn argumenten.<\/p>\n<pre><code class=\"language-css\">\/* Selects any paragraph or heading inside an article *\/\n\narticle :is(h1, h2, h3, p) {\n\ncolor: blue;\n\n}<\/code><\/pre>\n<h3>:where() pseudo-selector<\/h3>\n<p>Deze lijkt op <code>:is()<\/code>, maar heeft een belangrijk verschil. <code>:where()<\/code> heeft altijd een specificiteit van nul. Dit maakt het nuttig voor het overschrijven van stijlen zonder de specificiteit te verhogen. In het gebruik zou het er ongeveer zo uit kunnen zien:<\/p>\n<pre><code class=\"language-css\">\/* Selects any paragraph or heading, but with no added specificity *\/\n\n:where(article, section) p {\n\nmargin-bottom: 1em;\n\n}<\/code><\/pre>\n<p>Met <code>:is()<\/code> en <code>:where()<\/code> kun je flexibelere en beter te onderhouden stylesheets maken, vooral als je te maken hebt met complexe ontwerpen. Deze pseudo-selectors kunnen bijvoorbeeld nuttig in de volgende use cases:<\/p>\n<ul>\n<li><strong>Geneste selectors vereenvoudigen<\/strong>: Ze kunnen diep geneste selectors of gegroepeerde selectors vereenvoudigen, waardoor je CSS leesbaarder en gemakkelijker te onderhouden wordt.<\/li>\n<li><strong>Stijlen overschrijven<\/strong>: <code>:where()<\/code> is geweldig voor het maken van basisstijlen die gemakkelijk overschreven kunnen worden zonder je zorgen te maken over specificiteit.<\/li>\n<li><strong>Stijlen hergebruiken<\/strong>: Beide pseudo-selectors maken meer modulaire en herbruikbare stijlen mogelijk, omdat je verschillende elementen kunt groeperen onder een enkele regel.<\/li>\n<\/ul>\n<p>Voor een praktische toepassing hiervan in actie, stel je een navigatiemenu voor met verschillende secties. Je kunt <code>:is()<\/code> gebruiken om alle links in het menu uniform te stijlen, ongeacht hun nestniveau, als volgt:<\/p>\n<pre><code class=\"language-css\">nav :is(ul, ol, div) &gt; li &gt; a {\n\npadding: 10px;\n\ncolor: white;\n\n}<\/code><\/pre>\n<h2>Samenvatting<\/h2>\n<p>Van de elegantie van CSS overgangen die gebruikersinterfaces tot leven brengen tot de kracht van 3D transformaties, hopelijk heb je nu een beter begrip van enkele van de meer geavanceerde CSS technieken die beschikbaar zijn in 2026 en verder.<\/p>\n<p>Deze gids belicht deze geavanceerde technieken en onderstreept het belang ervan bij het maken van responsieve, gebruiksvriendelijke en visueel aantrekkelijke webontwerpen. En welke je ook besluit te gebruiken, vergeet niet om bij alles wat je doet prioriteit te geven aan toegankelijkheid en <a href=\"https:\/\/kinsta.com\/nl\/blog\/optimaliseer-css\/\">CSS performance<\/a>.<\/p>\n<p>Gebruik jij op dit moment een van deze geavanceerde CSS technieken? Heb je aanbevelingen voor anderen om te proberen? Laat het ons gerust weten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CSS is niet alleen meer om sites er mooi uit te laten zien. Het heeft zich ontwikkeld tot een hulpmiddel dat websites tot leven brengt met &#8230;<\/p>\n","protected":false},"author":199,"featured_media":57771,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[881,883],"class_list":["post-57770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-webdesign","topic-webdevelopment-talen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Geavanceerde CSS technieken - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties\" \/>\n<meta property=\"og:description\" content=\"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-22T11:08:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-26T08:06:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties\",\"datePublished\":\"2024-01-22T11:08:58+00:00\",\"dateModified\":\"2024-01-26T08:06:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\"},\"wordCount\":2954,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\",\"name\":\"Geavanceerde CSS technieken - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\",\"datePublished\":\"2024-01-22T11:08:58+00:00\",\"dateModified\":\"2024-01-26T08:06:56+00:00\",\"description\":\"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webdesign\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Geavanceerde CSS technieken - Kinsta\u00ae","description":"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/","og_locale":"nl_NL","og_type":"article","og_title":"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties","og_description":"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.","og_url":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2024-01-22T11:08:58+00:00","article_modified_time":"2024-01-26T08:06:56+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Jeremy Holcombe","Geschatte leestijd":"16 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties","datePublished":"2024-01-22T11:08:58+00:00","dateModified":"2024-01-26T08:06:56+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/"},"wordCount":2954,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/","url":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/","name":"Geavanceerde CSS technieken - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","datePublished":"2024-01-22T11:08:58+00:00","dateModified":"2024-01-26T08:06:56+00:00","description":"Als je klaar bent om verder te gaan dan de basics, dan zal deze verzameling van geavanceerde CSS technieken je helpen om je ontwerpen verder te brengen.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/wp-advanced-css-techniques.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/geavanceerde-css-technieken\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"Webdesign","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/webdesign\/"},{"@type":"ListItem","position":3,"name":"Geavanceerde CSS technieken: een diepe duik in overgangen, animaties en transformaties"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/nl\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=57770"}],"version-history":[{"count":4,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57770\/revisions"}],"predecessor-version":[{"id":57802,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57770\/revisions\/57802"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/en"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/es"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/translations\/it"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57770\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/57771"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=57770"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=57770"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=57770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}