Welkom bij TheHotSeat, pseudoniem voor een Gentse freelance webontwikkelaar. Maar bovenal een blog over webdesign, webontwikkeling en (digitale) vormgeving

view comments

Mobile first ontwerpen

20 Jun 2011

Enkele dagen terug heb ik een tweede responsief ontwerp online geplaatst. Het is deze keer een eenvoudige webshop geworden. Het resultaat kan je bekijken op madebywolf.com. Haal er gerust je gsm of iPad bij. (Qua vormgeving was ik hier gebonden aan een bestaande huisstijl.)

wolf desktop layout

wolf mobile layout

Het grote verschil met Sleepstreet, mijn vorige responsive design, is dat ik de Wolf website volledig “mobile first” heb opgevat (onder impuls van Andy Clarkes 320AndUp).

Desktop first

Sleepstreet was “desktop first” opgebouwd: ik maakte eerst een fluid versie van de website zoals die er moest uitzien op de desktop en ging daarna media queries gebruiken om het ontwerp aan te passen voor een vijftal andere schermresolutiezones, gaande van gsm tot high-res monitor.

Het voordeel van die “desktop first” aanpak is dat de website zonder problemen meteen goed wordt weergegeven in Internet Explorerversies ouder dan 9 (die geen media queries ondersteunen). Geen gepruts daar dus.

Het nadeel is dat mijn CSS een pak uitgebreider werd. Want voor elke regel CSS die iets specifieks aanpakt in de desktop layout, had ik er minstens 5 extra nodig voor de andere schemresolutiezones. Dat komt omdat ik media queries gebruikte met minimum- en maximumwaardes, zoals deze:

@media only screen and (min-width 320px) and (max-width 380px{  } 

De CSS in bovenstaande media query wordt alleen toegepast als de viewport tussen de 320 en 380 pixels breed is. Is ze 319 of 381 pixels breed, dan wordt de standaard desktopversie weer getoond. Daarom is dus een volgende media query nodig die de volgende schermresolutiezone aanspreekt, zoals:

@media only screen and (min-width 381px) and (max-width 768px{  } 

Mobile first

Wolf is dus mobile first opgebouwd. Mijn basis-CSS beschrijft bijgevolg de gsm-versie van de website. Op zich heeft dat alleen maar één groot nadeel: oude IE-versies tonen altijd de gsm-layout.

Maar op media queryvlak wordt het wél interessanter, als je gebruik maakt van media queries die alleen minimumwaardes bevatten tenminste, zoals deze:

@media only screen and (min-width 480px{  } 

Via deze eerste media query ga je bepalen wat moet gebeuren als een gebruiker je site bezoekt met een scherm dat wat meer pixels kan weergeven dan het standaard gsm-scherm. Het leuke aan die media query is dat de CSS die er in gestopt wordt ook wordt toegepast op een scherm dat 2000 pixels in de breedte kan weergeven. Dat komt uiteraard net doordat geen max-width is beschreven.

Het komt er dus op neer dat je een CSS-regel doorgaans niet in elke schermresolutiezone moet definiëren. Alleen in die zone vanaf dewelke je wil dat er verandering optreedt. En dat zorgt voor heel wat minder CSS.

En Internet Explorer dan?

Maar wat met oudere IE-versies die geen media queries ondersteunen? IE8 is nu eenmaal ‘s werelds meestgebruikte browser. En die 30% van je bezoekers willen heus geen mobiele versie zien van je website op hun desktopcomputer.

De oplossing is eigenlijk vrij eenvoudig: geef IE respond.js. Respond.js is een fantastisch script dat checkt of je browser media queries ondersteunt. Als dat niet het geval is, dan zal respond de CSS uit je media queries interpreteren en die via javascript aan de browser gaan opleggen. Het resultaat: je media queries werken in oude IE-versies.

Ik ben overtuigd. Mijn volgende website wordt op designvlak zeker en vast opnieuw mobile first.


Gelijkaardige blog posts

7 reacties op dit bericht

1
Wolf schreef op 20 Jun 2011 om 08u56:

Goed bezig! Ik probeer zoveel mogelijk projecten responsive te maken. Die respond.js is inderdaad fantastisch.


2
Mathias Bynens schreef op 20 Jun 2011 om 14u32:

Tip: only screen heb je (ook in dit geval) niet nodig.

http://mths.be/60277264855740416
http://mths.be/60278308683784193


3
Tom Hermans schreef op 20 Jun 2011 om 14u46:

Nice to see dat er nog mensen mee bezig zijn, en de mobile-first aanpak omarmen. Als de eerste projecten waaraan ik nu werk online zijn, ga ik mijn idee ook es neerpennen.


4
De Bruyn schreef op 4 Jul 2011 om 13u30:

wist niet dat het mogelijk was! Dus het design past zich aan aan het formaat van het scherm? Straks eens openen op de ipad.


5
Thomas Byttebier schreef op 4 Jul 2011 om 15u19:

Inderdaad, dat is het idee.


6
Igor schreef op 5 Jul 2011 om 10u55:

Geweldig artikel! Dank. En ik wil bevestigen dat respond.js is groot oplossing.


7
Mobile App Development schreef op 24 Oct 2011 om 15u45:

I think when all the major browsers start fully adhering fully to HTML 5, then there won’t be anymore issues with what displays correctly and what doesn’t- every website will just work fine across all browsers. The quicker they do this, the better it’ll be for everyone.


Plaats een reactie

(Verplicht)
(Verplicht - onzichtbaar)
Ken je html?
Deze html-tags kan je gebruiken:
  • <a> voor een link
  • <blockquote> voor een citaat
  • <em> voor nadruk
  • <code> voor code



Over logo TheHotSeat 

foto Thomas Byttebier pijltje TheHotSeat is Thomas Byttebier, freelance webdesigner en user interface designer.
Op deze website blog ik over alles wat met webdesign en digitale vormgeving te maken heeft. Meer informatie over mij. @bytte op Twitter.

RSS Feed TheHotSeatLaatste blog posts

Laatste reacties

Categorieën

AlleExpressionEngineiPhoneTransistorMarketingSEOOntwerpTypografieOntwikkelingjQueryPHPZend FrameworkOpiniesOverigePhotoshopWebomgeving