Resultaatgerichte websites en printmedia ontwikkelen

Viewport eenheden: begrip en toepassing in webdesign

viewports
Laatste update: 27 januari 2025
Geschatte leestijd: 4 minuten

In webdesign zijn viewport eenheden in combinatie met schalen, REM en wiskundige functies cruciaal voor het creëren van responsieve en dynamische lay-outs die zich automatisch aanpassen aan de verschillende schermformaten van apparaten. Maar wat zijn viewport eenheden precies, en hoe gebruik je ze effectief?

Wat is de viewport?

Voordat we de specifieke eenheden duiken, is het belangrijk om te begrijpen wat de viewport is. De viewport is simpelweg het zichtbare gedeelte van een webpagina dat je op je apparaat kunt zien. Dit kan variëren van een smartphone tot een desktopcomputer, afhankelijk van de grootte van het scherm van het apparaat dat je gebruikt om de website te bekijken. De viewport verandert dus voortdurend afhankelijk van de grootte van het apparaat, wat het gebruik van flexibele eenheden zoals viewport eenheden (VW, VH, VMin, en VMax) noodzakelijk maakt.

Wat zijn viewport eenheden?

Viewport eenheden zijn een type CSS-eenheden die zijn gebaseerd op de afmetingen van de viewport. Dit maakt ze ideaal voor het ontwerpen van webpagina’s die zich automatisch aanpassen aan de grootte van het scherm. De meest voorkomende viewport eenheden zijn VW, VH, VMin en VMax. Laten we ze eens nader bekijken.

  1. VW (viewport width): Deze eenheid is gebaseerd op de breedte van de viewport. 1 VW is gelijk aan 1% van de breedte van de viewport. Bijvoorbeeld, als je een tekstkader instelt op width: 80vw, betekent dit dat de breedte van het tekstkader altijd 80% zal zijn van de breedte van de viewport, ongeacht wat de grootte van de container is.
  2. VH (viewport height): Dit werkt op dezelfde manier als VW, maar dan voor de hoogte van de viewport. 1 VH is gelijk aan 1% van de hoogte van de viewport. Dus, als je een tekstkader instelt op height: 20vh, dan zal de hoogte van het tekstkader altijd 20% van de hoogte van de viewport zijn. Dit maakt het eenvoudig om elementen te positioneren die zich automatisch aanpassen aan de beschikbare ruimte.
  3. VMin en VMax: Deze eenheden zijn iets geavanceerder. VMin vertegenwoordigt de kleinere van de twee afmetingen van de viewport, terwijl VMax de grotere dimensie weergeeft. Als de breedte van de viewport kleiner is dan de hoogte, zal VMin verwijzen naar de breedte en VMax naar de hoogte. Deze eenheden zijn bijzonder nuttig wanneer je ontwerp moet reageren op zowel de grootte als de oriëntatie van de viewport, bijvoorbeeld wanneer een apparaat van portret naar landschap draait.

Dynamisch reageren op de viewport

Wat deze viewport eenheden bijzonder krachtig maakt, is hun vermogen om zich dynamisch aan te passen aan veranderingen in de viewport. Laten we het voorbeeld van het tekstkader eens nader bekijken. Stel je voor dat je een tekstkader hebt die 60 VW breed is en 20 VH hoog. Wanneer je de pagina in- of uitzoomt of de viewportgrootte verandert (bijvoorbeeld door het scherm te roteren), zal het tekstkader zich automatisch aanpassen om de nieuwe afmetingen van de viewport te weerspiegelen.

Dit is niet alleen handig voor het aanpassen aan verschillende schermgroottes, maar ook voor het werken met verschillende apparaten en het verbeteren van de gebruikerservaring. Bij het ontwerpen voor mobiele apparaten, bijvoorbeeld, kan de orientatie van het apparaat (landschap versus portret) invloed hebben op de lay-out. VMin en VMax kunnen ervoor zorgen dat je ontwerp zich onmiddellijk aanpast aan de kleinste of grootste afmeting van de viewport, zelfs wanneer deze verandert.

Probleemoplossing met Dvh en Dvw

Er is echter een probleem bij het gebruik van VH en VW, vooral op mobiele apparaten. Wanneer je bijvoorbeeld een element instelt op height: 100vh, betekent dit dat het element 100% van de hoogte van de viewport in beslag neemt. Dit werkt prima totdat je op een mobiel apparaat naar beneden scrolt. Veel mobiele apparaten hebben namelijk browserbalken die verschijnen en verdwijnen wanneer je scrollt. Dit verandert de hoogte van de viewport, wat kan leiden tot visuele problemen met je lay-out.

Om dit probleem op te lossen, worden de nieuwe eenheden Dvh en Dvw geïntroduceerd. Deze eenheden worden dynamisch berekend en houden rekening met de verschuivingen in de viewport door bijvoorbeeld browserbalken. Dvh en Dvw passen de afmetingen van elementen automatisch aan wanneer de interface-elementen van de browser verschijnen of verdwijnen, wat een meer betrouwbare responsieve ervaring biedt, vooral op mobiele apparaten.

Wiskundige functies in plaats van breakpoints gebruiken

Naast schalen, REM en viewport eenheden is het gebruik van wiskundige functies onmisbaar voor een efficiënt responsief ontwerp. In plaats van het ontwerp voor elk afzonderlijk breakpoint aan te passen, kun je wiskundige functies zoals min(), max(), calc() en clamp() gebruiken om een lay-out te creëren die automatisch reageert op verschillende schermgroottes.

  1. min() en max() functies helpen je om een waarde te beperken tot een bepaald bereik. Bijvoorbeeld, als je wilt dat de breedte van een element altijd minimaal 200px is, maar maximaal 50% van de viewportbreedte, kun je de min()-functie gebruiken om dit te bereiken.
  2. calc() functie is een andere krachtige tool in CSS waarmee je twee of meer eenheden kunt combineren. Hiermee kun je bijvoorbeeld een dynamische marge instellen die zich aanpast aan de breedte van het scherm.
  3. clamp() functie is een relatief nieuwe functie die je in staat stelt om een waarde te beperken tot een minimum, maximum en dynamisch tussenliggende waarde. Dit maakt het mogelijk om een responsief ontwerp te creëren dat vloeiend schaalt zonder ongewenste resultaten.

Het gebruik van deze functies zorgt niet alleen voor een sneller ontwikkelproces, maar voorkomt ook veel van de frustraties die gepaard gaan met het handmatig instellen van breakpoints. Het resultaat is een veel schoner en flexibeler ontwerp dat zich automatisch aanpast aan een breed scala van apparaten en schermgroottes.

Laat je website presteren op elk scherm

Met technieken zoals schalen, REM, viewport-eenheden en slimme wiskundige functies zorg ik als freelance webdesigner voor webontwerpen die altijd gebruiksvriendelijk, responsief en toekomstbestendig zijn. Of je nu een strak, minimalistisch design wilt of een complexe, datagedreven lay-out—ik lever maatwerk dat presteert.

Klaar om jouw project naar een hoger niveau te tillen? Neem vandaag nog contact op, en samen maken we jouw project tot een succes!


Wat kan ik voor je doen?

Website laten maken

Van online visitekaartje tot resultaatgerichte website op maat
jeroenwebsitemarketing diverse websites
website laten maken >>

Online marketing

In samenwerking met externe
SEO/SEA partners:
  • Zoektermen, content en sitestructuur
  • De website meetbaar maken
  • Online advertentie campagnes
  • Rapportages: wat is de investering en hoeveel omzet levert het op?
Investeren in je website >>

Design laten maken

Ontwerpen van huisstijl, brochures, banieren, verpakkingen
health of nature eerste producten
design laten maken >>
menu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram