Responsiv design
Børre Stenseth

Et eksempel

Hva

Vi skal forsøke å lage en tradisjonell webside slik at den fungerer på de fleste enheter. Det er min erfaring at Chrome har et godt verktøy for å teste responsive design og jeg har brukt Chrome til å teste undeveis.

Vi må ha et eller annet tema å forholde oss til så vi har et begrepsapparat. Jeg har valgt å lage en presentasjonsside for noen utvalgte forfattere. Innholdet som presenteres vi være korte utdrag fra tekster.

Jeg ønsker å lage en webside som har følgende wireframe, som ligner litt på den siden du ser på nå:

wframe1

Headeren skal inneholde en presentasjon av websiden, med logo(er), bakgrunnsbilde og det vi vanligvis finner som presentasjonsstoff. Menyen (nav) vil være en liste over de forfatterne vi kan se eksempler på. Det vi har kalt article vil være den utvalgte teksten og footer vil være kontakt informasjon etc.

Det er mange måter å gå fram på og det er en rekke vurderinger som må gjøre. Jeg har bestemt meg for følgende:

  1. Jeg vil presentere siden i tre modi, avhengig av størrelsen på den enheten som benyttes. Jeg vil ha en liten, en middels og en stor.
  2. Jeg begynner med å sette opp et skjelett med bare placeholdere i de ulike områdene.
  3. Deretter tar jeg område etter område.

Skjelettet

Jeg lager en minimalistisk webside, med referanse til et stilsett.
test1.html https://borres.hiof.no/respons/case1/test1.html

HTML-koden og stilsettet.

_test1.html

_test1.css

Menyen

Vi må ta noen beslutninger om menyen. Jeg vil at den skal kunne skrus av og på og jeg vil plassere menyknappen i headeren, helt til venstre. Det er mange alternative løsninger. Jeg legger på noen foreløpige markeringer så jeg ser litt bedre hva som skjer.
test2.html https://borres.hiof.no/respons/case1/test2.html

HTML-koden, stilsettet og et lite javascript

_test2.html

_test2.css

_test2.js

Innhold og visning

Det neste er å introdusere litt innhold. Vi bruker en enkel AJAX-tilgang kombinert med DOM-parser til å administrere innhold både i menyen og i de korte teststykkene. Denne filosofien er nærmere forklart i siten HTML, i modulen DOMParser.

Vi legger inn litt foreløpig innhold i header og footer, og vi definerer (foreløpig) hva vi skal se av dette avhengig av størrelsen på skjermen. Dette gjør vi ved følgende struktur på css-fila

body{
  /* generelle definisjoner*/
}
@media screen{
  /* generelle definisjoner for skjermen*/
}
@media screen and (max-width:400px){
  /* for de minste mobilene med < 400 px bredde */
}
@media screen and (min-width:700px){
  /* for vinuder med minst 700 px */
}

Når vi får lagt inn noen foreløpige markører i header og footer kan det se slik ut
test3.html https://borres.hiof.no/respons/case1/test3.html

HTML-koden, stilsettet og javascriptet

_test3.html

_test3.css

_test3.js

Stil og justering

Vi har et skjelett som administrerer innholdet. Det som gjenstår er å bestemme seg for en stil. Vi må få justert blandt annet fontstørrelser, marger og farger. Det er min erfaring at dette er en vanskelig prosess. For det første er det vanskelig å finne en god løsning og for det andre fordi en blir grepet av "perfeksjonist"-syndromet og blir aldri ferdig. I alle fall, her er et forslag.
test4.html https://borres.hiof.no/respons/case1/test4.html

HTML-koden, stilsettet og javascriptet

_test4.html

_test4.css

_test4.js

Revisjon

Jeg er ikke fornøyd med at:

  • meny-ikonet ødelegger headingen
  • den mørke bakgrunnsfargen i headeren er ikke bra
  • det er ikke noen grunn til at menyen skal oppta plass ved siden av innholdet

Prøver med en revisjon, der vi altså bryter med den opprinnelige planen når det gjelder plassering av menyen.
test5.html https://borres.hiof.no/respons/case1/test5.html

HTML-koden, stilsettet og javascriptet

_test5.html

_test5.css

_test5.js

[1]

... og slik ble det. Du kan jo fortsette og lage bedre løsninger.

Referanser
  1. Free High Quality Images pixabay pixabay.com/ 14-08-2016