Responsief webontwerp is een benadering voor het bouwen van webpagina's waarbij die pagina's hun lay-out en uiterlijk dynamisch kunnen wijzigen op basis van de schermgrootte van een bezoeker. Grote schermen kunnen een lay-out krijgen die geschikt is voor die grotere schermen, terwijl kleinere apparaten, zoals mobiele telefoons, dezelfde website kunnen ontvangen die is geformatteerd op een manier die geschikt is voor dat kleinere scherm. Deze aanpak biedt een betere gebruikerservaring voor alle gebruikers en kan zelfs helpen de positie van zoekmachines te verbeteren. Een belangrijk onderdeel van responsief webontwerp is CSS Media Queries.
Media Queries zijn net kleine voorwaardelijke uitspraken in het CSS-bestand van uw website, waardoor u bepaalde CSS-regels kunt instellen die pas effect hebben als aan een bepaalde voorwaarde is voldaan, bijvoorbeeld wanneer een schermgrootte boven of onder bepaalde drempels ligt.
Media Queries in Action
Dus hoe gebruik je Media Queries op een website? Hier is een heel eenvoudig voorbeeld:
- Je zou beginnen met een goed gestructureerd HTML-document zonder visuele stijlen (dat is waar CSS voor is)
- In uw CSS-bestand zou u beginnen zoals u gewoonlijk doet door de pagina in model te brengen en een basislijn in te stellen voor hoe de website er uit zal zien. Stel dat u wilt dat de lettergrootte van de pagina 16 pixels is, dan kunt u deze CSS schrijven:
body {font-size: 16px; }
- Nu wilt u misschien die lettergrootte vergroten voor grotere schermen met voldoende onroerend goed om dat te doen. Dit is waar Media Queries starten. U zou een Media Query als deze starten:
@media-scherm en (min-breedte: 1000px) {}
- Dit is de syntaxis van een Media Query. Het begint met @media om de Media Query zelf te bepalen. Vervolgens stelt u het "mediatype" in, in dit geval "scherm". Dit is van toepassing op desktop-computerschermen, tablets, telefoons, enz. Tot slot beëindigt u de Media Query met de "media-functie". In ons voorbeeld hierboven is dat "mid-width: 1000px". Dit betekent dat de Media Query wordt ingeschakeld voor weergaven met een minimale breedte van 1000 pixels breed.
- Na deze elementen van de Media Query voegt u een openende en sluitende accolade toe die lijkt op wat u zou doen in een normale CSS-regel.
- De laatste stap naar een Media Query is om de CSS-regels toe te voegen die u wilt toepassen zodra aan deze voorwaarde is voldaan. U voegt deze CSS-regels toe tussen de accolades die deel uitmaken van de Media Query, zoals deze:
@media-scherm en (min-width: 1000px) {body {font-size: 20px; }
- Wanneer aan de voorwaarden van de Media Query is voldaan (het browservenster is ten minste 1000 pixels breed), wordt deze CSS-stijl van kracht, waardoor de lettergrootte van onze site verandert van de 16 pixels die we oorspronkelijk hebben vastgesteld op onze nieuwe waarde van 20 pixels.
Meer stijlen toevoegen
U kunt zo veel CSS-regels in deze Media Query plaatsen als nodig om de visuele weergave van uw website aan te passen. Als u bijvoorbeeld niet alleen de lettertypegrootte wilt vergroten tot 20 pixels, maar ook de kleur van alle alinea's wilt wijzigen in zwart (# 000000), kunt u dit toevoegen:
@media-scherm en (min-width: 1000px) {body {font-size: 20px; } p {color: # 000000; }}
Meer mediaquery's toevoegen
Bovendien kunt u voor elke grotere grootte meer mediaquery's toevoegen door ze als volgt aan uw stylesheet toe te voegen:
@media-scherm en (min-width: 1000px) {body {font-size: 20px; } p {color: # 000000; {} @media-scherm en (min-width: 1400px) {body {font-size: 24px; }}
De eerste Media Queries zouden op 1000 pixels breed worden ingevoerd, waardoor de lettergrootte zou worden gewijzigd in 20 pixels. Toen de browser eenmaal boven 1400 pixels was, zou de lettergrootte weer veranderen naar 24 pixels. U kunt zoveel Mediaquery's toevoegen als nodig is voor uw specifieke website.
Min-breedte en maximale breedte
Er zijn over het algemeen twee manieren om Media Queries te schrijven - door "min-width" of met "max-width" te gebruiken. Tot nu toe hebben we "min-width" in actie gezien. Hierdoor worden de Media Queries van kracht zodra een browser ten minste die minimale breedte heeft bereikt. Dus een zoekopdracht met "min-width: 1000px" is van toepassing wanneer de browser minimaal 1000 pixels breed is. Deze stijl van Media Query wordt gebruikt wanneer u een site bouwt op een "mobile-first" -manier.
Als u 'max-width' gebruikt, werkt dit op de tegenovergestelde manier. Een mediaquery van "max-width: 1000px" zou van toepassing zijn zodra de browser onder deze grootte is gedaald.
Betreffende oudere browsers
Een uitdaging met Media Queries is hun gebrek aan ondersteuning in oudere versies van Internet Explorer. Gelukkig zijn er polyfills beschikbaar die ondersteuning voor Media Queries in die oudere browsers kunnen patchen, zodat je ze vandaag op websites kunt gebruiken, terwijl je er toch voor zorgt dat de weergave van die site er niet kapot uitziet in oudere browsersoftware.
Bewerkt door Jeremy Girard op 24-01-17
7








