Hvorfor ser ikke nettsiden ut som du vil? En guide til styling i CMS

Illustrasjon av en pc med bilde av en nettside og diverse styling elementer som kan legges inn på en nettside.

Når du lager en nettside i et CMS-system, får du som regel tilgang til en rekke elementer / widgets som du kan legge inn på en side.  Dette er diverse funksjoner som er ferdig laget av systemet som tekst, bilder, overskrifter, bildegallerier osv.  

Det er bare det at det ikke ser så bra ut etter at du har lagt det inn. Kanskje er fonten feil, det er for bredt, ligger på feil side, har feil farge eller ligger klistret inntil et annet element.  

Heldigvis har du muligheten til å style elementene slik som du vil.  

Men, hva betyr alle disse settingene og hva gjør de?

Designpanelet

Designpanelet varierer fra system til system, men de inneholder stort sett de samme innstillingene. De har som regel litt annerledes utforming og navn på fanene i panelet, som du ser her på bildene av designpanelet i Webflow og Wordpress/Elementor

Designpanelet i CMS sytemet Webflow
Designpanelet i Webflow

Designpanelet i Elementor Pro - wordpress plugin
Designpanelet i Elementor

DOM – HTML og CMS-system

I CMS-systemer er det sjelden at du har direkte tilgang til HTML men du legger inn ny HTML automatisk i DOM for hvert element du legger inn på en side.  

For å forstå hvordan en nettside fungerer, kan du tenke på HTML som selve byggetegningen (eller oppskriften), mens DOM er det ferdige huset som nettleseren bygger ut fra tegningen.

Her er forskjellen kort fortalt:

1. HTML (Byggeklossene)

HTML (HyperText Markup Language) er den rå koden du skriver når du lager en nettside. Det er en statisk tekstfil full av koder (tags) som bestemmer innholdet.

  • Du skriver for eksempel: <h1>Min overskrift</h1> eller <p>Dette er en tekst.</p>.
  • HTML er bare en død oppskrift helt til den åpnes i en nettleser (som Chrome eller Safari).

2. DOM (Det levende resultatet)

DOM (Document Object Model) er det som skjer når nettleseren leser HTML-filen din. Nettleseren oversetter kodene dine til et levende, digitalt familietre (et objekttre).

Når HTML-koden er gjort om til DOM, blir hvert eneste element (overskrifter, bilder og knapper) til et eget "objekt" som kan endres live.

Hvorfor trenger vi begge?

Uten DOM ville nettsider vært helt låste og kjedelige. DOM gjør det nemlig mulig for JavaScript eller nettside-byggere å gå inn og endre på tingenes tilstand etter at siden er lastet inn, uten at brukeren må laste inn nettsiden på nytt.

Et enkelt eksempel: Når en kunde klikker på "Kjøp"-knappen i nettbutikken din, og tallet på handlekurv-ikonet øverst i hjørnet plutselig endrer seg fra 0 til 1:

  • HTML-en din sa bare at det skulle være et ikon der.
  • DOM-en er det som gjør at knappen og ikonet kan snakke sammen live, slik at tallet endrer seg på skjermen din i sanntid.

Kort sagt: HTML er koden du skriver i editoren din. DOM er den levende strukturen nettleseren jobber med i kulissene for å vise siden til kunden din.

I CMS-system legger du inn HTML i DOM treet hver gang du legger inn et element/widget.

Når du bygger i et CMS, gjør systemet mye av denne kodingen for deg. Men hvis noe først 'sprekker' i DOM-treet, kreves det dyp teknisk forståelse for å rette det opp igjen uten å ødelegge hele siden.

Hvorfor ser det ikke så bra ut på siden?

Widgeter kommer med noe styling, men overlater det meste av stylingen til deg slik at du kan tilpasse det til designet pål nettsiden din.  Du har muligheter til å endre på ting som

  • Farger
  • Fonter
  • Størrelser
  • Avstander
  • Beliggenhet
  • Bilder
  • Border
  • Bakgrunnsbilder
  • Gradients
  • Animasjoner
  • Og mye mer alt etter hva slags element du legger inn.

Globale og individuelle innstillinger

Det er forskjell på Global styling, som gjelder utseende på hele nettsiden din, og individuell styling som gjelder elementene du legger inn.

Globale innstillinger “set it and  forget it”

Med globale innstillinger kan du f,eks. sette en størrelse på brødteksten for hele nettsiden slik at du ikke behøver å gjøre det hver gang du legger inn et tekstelement på en side. Eller bestemme størrelsen på overskriftene, slik at de blir like over hele nettsiden din.

Hvordan du legger inn de globale settingene varierer fra system til system, men hva du kan legge inn er stort sett det samme uansett system.  

Her er noe av det som det lønner seg å legge inn i de globale settingene

Fargetema på nettsiden.  

Når du har funnet hvilke farger du ønsker å bruke på nettsiden, legger du dem inn som variabler.  Dette er slik systemet husker fargen i bakgrunnen: var(--e-global-color-primary);

Variabler fungerer slik at dersom du endrer på en farge, så oppdaterer den seg slik at alle elementene som bruker fargen automatisk vil skifte til den nye fargen, så sant du ikke har satt en annen farge på et element med individuell styling.  

Å legge inn farger er veldig enkelt. Du behøver ikke å skrive variablen selv, det gjør systemet for deg.  Du velger farge fra en fargevelger, eller skriver inn HEX koden i et felt.  (som du ser der teksten er markert i bildet under)

Standard fargevelger her sett i wordpress pluginen Elementor Pro designpanel
Fargevelger i Elementor designpanel

Her ser du de globale fargeinnstillingene i Wordrpess/Elementor

Globale fargesettinger i Elementor Pro

Og her i Webflow panel for variabler

Typografi

I de globale settingene velger du fontene som gjelder for hele nettsiden.  Som regel har du valg mellom mange «ferdige» fonter som ligger i systemet, men du har også muligheten til å laste opp egne fonter.  Det finnes utallige fonter å velge mellom, men du bør alltid tenke på at den skal være lesbar for alle.  For brødteksten er det lurt å velge en sans serif font da den er lettere enn en serif font.  Du kan bruke serif fonter på overskrifter.  

Unngå også fonter der bokstaver kan bli misforstått som f.eks liten a og o som du ser under.

Visning av forskjellen på en sans serif og en serif font i Elementor Pro designpanel.  Viser også eksempel på at det er vanskelig å skille mellom a og o i en font.

Font størrelse

Du setter også størrelsen på brødteksten i de globale settingene, slik at den blir lik over hele nettstedet.  Siden du vil at nettsiden din skal kunne sees på alle typer skjermer, bruker du REM, EM eller % istedenfor px.

Brødtekst pleier å være satt til 16px som er det samme som 1 REM, 1EM eller 100%.  Som regel settes fontens innstillinger på body elementet (Webflow) eller i det globale setting panelet (Elementor)

Viser settingene der man setter linjehøyde på body elementet i CMS Webflow
Innstillinger for font i Webflow

Settinger for font i Elementor Pro
Innstillinger for font i Elementor Pro

Linjehøyde

Du setter også høyden på teksten globalt.  Normal standard for god lesbarhet på nett er en linjehøyde på 1.4 til 1.6 (altså 140% til 160% av fontstørrelsen).

Når du setter linjehøyden så sjekk at det ser bra ut på tekst som går over flere linjer, ikke bare en og juster så det ser bra ut og er lett å lese.  Her ser du eksempler linjehøyde og forholdet mellom font størrelsen og linjehøyden.

Viser tekst med forskjellig størrelse og linjehøyde i designpanelet til Elementor pro i Wordpress
Forhold mellom font størrelse og linjehøyde

Bokstavavstand / Kerning

Det er sjelden at du setter avstand mellom bokstaver i de globale settingene.  Du setter dem på det individuelle elementet der du ønsker at avstanden skal være større eller mindre.

Forskjell på bokstavavstand - kerning på to tekster i designpanlet til Elementor Pro Wordpress plugin

Kerning kan være av stor betydning i enkelte tilfeller, kanskje mer i trykk enn for web, men her er et eksempel på at bokstav avstanden burde vært litt større.

en tekst, 10 flickering lights som er skrevet med litt for tett bokstavavstand slik at det ser ut som om det står 10 Fuckering lights

Tekst tykkelse og stil

Det er sjelden at man legger inn tekst tykkelse, stil som f.eks skråstrek eller understreking eller store bokstaver på brødteksten.  Så sant du ikke har valgt en font som blir for tynn eller tykk og derfor blir vanskelig å lese. Tekst tykkelse nummereres fra 200 til 900 der 900 er tykkest og 200 tynnest

stedet der du velger tekst tykkelse i Elementor Pro design panel, og eksempler med tykkelse 900, 600, 400 og 200

Font farge (font color)

Når du skal velge farge på brødteksten til nettstedet ditt, så vær nøye med at den er godt leselig.  Den må ha riktig kontrast til bakgrunnen.  Dersom nettsiden din skal være mørk, så er det ikke sikkert at helt hvit tekst er det beste. Det kan være mer behagelig å lese teksten dersom den var tonet litt ned til f.eks. lysegrå.

Overskrifter (headings)

Overskrifter har de samme settingene som teksten, men størrelsen skal helst være nedad stigende fra H1 (størst) til H6 (minst).  

Hvor store de skal være, er litt avhengig av hvilken font du har valgt og hvilken stil du vil ha på designet ditt. Det som er viktig å huske er at H1 kun skal opptre en gang pr. side og at de resterende skal ha nedad stigende størrelse, slik at man lett kan se hva som tilhører hvilken overskrift på siden.

Lenker (links)

Dersom du legger inn lenker i tekst, bør du markere dem med en annen farge enn resten av teksten, og helst også med en understreking, slik at man tydelig ser at det er en lenke man kan trykke på.  For å gjøre dem like, så kan du sette dem globalt.  Bare vær obs på at du da ofte må endre farge på fanene i hovedmenyen lokalt, slik at de ikke også blir understreket og får en annen farge enn du ønsket. Det samme gjelder tekst i linkbokser og på knapper.

Knapper (buttons)

I både Webflow og Elementor kan du style knapper globalt med farge, font farge, font størrelse, padding osv. Det fungerer fint dersom du vil at alle knappene skal se like ut.  Dersom du ønsker knapper med f.eks. forskjellig farge, velger du ikke noen farge i de globale settingene, men gjør det lokalt.

En bedre måte å style knapper på, er å gi dem en class, f.eks. .blue-button og .white-button. Da behøver du ikke å huske settingene, men kan bare legge inn riktig class for hver enkel knapp.  

Custom code

Et godt CMS-system gir deg også muligheten til å legge inn egen kode.  Det kan spare deg for mye jobb, da du legger du inn styling på en class i Custom code, og så gir alle elementer som skal se likt ut samme classen. Men, det er da viktig at du vet hva du gjør.  CMS-system validerer ikke custom code for deg, så du må vite hva du legger inn.

Siden CMS-systemet ikke feilsøker koden din, kan én feilkodet linje her gjøre at nettsiden din blir helt hvit eller slutter å fungere. Dette er grunnen til at de fleste bedrifter overlater akkurat denne biten til profesjonelle.

Nettsteds identitet

Som regel består innstillingene som omfatter nettstedets identitet av en logo, et favicon og et webclip.

  • Favicon: Om du har lagt merke til at alle faner som åpner nettsider i nettleseren din, har et lite ikon, så kalles det et favicon.  Det viser at fanen tilhører en side på ditt nettsted, noe som kan være kjekt dersom du har mange faner oppe på en gang.
  • Webclip: Et webclip (ofte kalt et touch-ikon eller app-ikon for nettside) er det ikonet som dukker opp på hjemskjermen på en mobil eller et nettbrett hvis en bruker lagrer nettsiden din som et snarvei-ikon (bokmerke).  Du har sikkert lagt merke til at hvis du besøker en nettside i Safari på iPhone, trykker på "Del"-knappen og velger "Legg til på hjem-skjermen", så legger siden seg på mobilen din og ser ut akkurat som en vanlig app. Det bildet som brukes som app-ikon, er nettsidens webclip.
  • Logo:  Dette er logoen til firmaet ditt.  Hvor du legger den inn varierer en del fra system til system.  I Webflow, laster du som regel opp logoen din i headeren, der hovedmenyen ligger i design view, mens du i Elementor laster den opp i globale innstillinger og deretter legger den inn som en widget der du vil ha den.  Logoen skal alltid linke til forsiden.

Nettsidens bredde

For at nettsiden ikke skal strekke seg over en viss bredde, kan du sette en maks bredde på f.eks. 1920px.  Dette blir gjort slik at lesbarheten og den visuelle kontrollen på store skjermer opprettholdes.

Her er de fire viktigste grunnene til hvorfor en maksbredde (f.eks. på 1200px, 1440px eller 1920px) er helt nødvendig:

1. Optimal linjelengde for lesbarhet (Det viktigste punktet!)

Forskning på typografi viser at den menneskelige hjerne trives best når en tekstlinje har mellom 45 og 75 tegn (inkludert mellomrom).

  • Hvis du lar teksten strekke seg over en hel ultrawide-skjerm uten stopp, blir linjene ekstremt lange.
  • Da blir leseren sliten i øynene, og det blir veldig vanskelig å finne starten på neste linje når man hopper nedover. Ved å låse innholdet til en maksbredde, holder du teksten kompakt og lettlest.
2. Designet "sprekker" på store skjermer

Hvis du ikke setter en maksbredde, vil elementene på siden din oppføre seg kaotisk hvis noen åpner den på en stor skjerm:

  • En logo som opprinnelig skulle stå pent ved siden av menyen, kan ende opp helt isolert øverst i venstre hjørne, mens søkefeltet flyr tre meter av gårde til høyre hjørne.
  • Bilder må strekkes voldsomt for å fylle skjermen, noe som gjør dem uskarpe og pikselerte.
3. Du beholder kontroll på komposisjonen

Når du designer en nettside, bygger du et visuelt hierarki der tekst, bilder og knapper skal fungere sammen. Ved å sette en max-width og sentrere denne "boksen" på skjermen (det gjør du ved å sette margin høyre og margin venstre til auto), vet du nøyaktig hvordan siden ser ut for de aller fleste.

Skjermer som er større enn maksbredden din, vil bare få nøytrale "tomrom" (whitespace) på flankene, noe som bare ser ryddig og profesjonelt ut.

4. 1920px er den "naturlige grensen"

Hvorfor akkurat 1920 piksler? Full HD (1920x1080) er fortsatt den mest dominerende skjermoppløsningen for stasjonære og bærbare PC-er globalt.

  • Ved å sette 1920px som den absolutte maksgrensen for hele siden din (eller ofte rundt 1200px–1440px for selve tekstbeholderen), sikrer du at designet fyller skjermen perfekt for de fleste, samtidig som det ikke sporer helt av for de som sitter på gigantiske 4K-skjermer.

Å få en nettside til å se like bra ut på en gigantisk 4K-skjerm, en bærbar Mac og en liten iPhone-skjerm kalles responsivt design. Det er her de fleste timene flyr for en webdesigner – og hvor det er lettest å gå seg vill i innstillingene.

I Elementor setter du maks bredde i nettstedsinstillingene (globale innstillinger) under Oppsett

Hvor du setter innholdets bredde i de globale innstillingene i Elementor Pro Wordpress plugin
Innstilling for nettsidens maks bredde i Elementor Pro

I Webflow gjøres det litt annerledes.  Der lønner det seg å legge inn en liten kode i custom code(som du finner under site settings):  .w-container {max-width: 1920px;}

Deretter legger du inn en maks bredde på 1920 px på container elementet og legger det inn i alle seksjoner der du ønsker å begrense bredden

CSS for nettsidens bredde i CMS systemet Webflows site settings, custom code
Nettsidens bredde lagt inn i custom code i Webflow

rød pil som viser nettsidens bredde lagt inn under max-bredde på container elemenetet i Webflows style panel
Nettsidens bredde lagt inn på containerelementet i Webflow

Når de globale settingene er satt, vil mange av elementene som headinger være ferdig stylet når du legger dem inn på siden.  Men det er likevel behov for individuelle tilpasninger av de fleste elementene.

Individuelle innstillinger

De individuelle settingene har mange av de samme settingene som de globale. Men du kan overstyre de globale settingene for et element.  Så om du f.eks har en overskrift som er stylet som svart globalt, kan du endre den til å være rød lokalt.  Da vil kun denne ene headingen ha en annen farge enn de andre.  

Alle elementer har sine individuelle innstillinger, men de har også innstillinger som gjelder for alle.  

Flexbox

Flexbox (kort for Flexible Box Layout) er et kjempesmart verktøy i CSS og nettsidebyggere (som Webflow og Elementor) som brukes til å plassere, justere og fordele elementer i en boks eller på en linje.

Før Flexbox kom, var det utrolig kronglete å plassere ting ved siden av hverandre på en nettside uten at designet sprakk på ulike skjermer. Flexbox løste dette ved å gjøre oppsettet "fleksibelt".

Det som gjør Flexbox så genialt, er at du bare gir foreldrecontaineren en kommando, så oppfører barna (elementene inni) seg automatisk slik du vil.

Her er de tre tingene Flexbox gjør best:
  • Reting (Direction): Du kan med ett enkelt klikk bestemme om elementene skal ligge på en rad ved siden av hverandre vannrett (row), eller stables loddrett oppå hverandre som en kolonne (column).
  • Sentrering og justering: Det å midtstille en tekst eller en knapp perfekt – både vannrett og loddrett på samme tid – pleide tidligere å være et lite mareritt. Med Flexbox gjør du det enkelt med to klikk.
  • Fordeling av plass (Space): Du kan be Flexbox om å fordele elementene dine helt jevnt utover. Du kan velge at de skal presses helt ut til kantene med lik avstand i mellom (space-between), eller at de skal ha like mye luft rundt seg på alle kanter (space-around).  

Her er et eksempel:  Tenk på en hovedmeny (navigasjonsbar) øverst på en nettside. På PC bruker du Flexbox til å legge logoen helt til venstre og menylenkene helt til høyre. Når brukeren åpner siden på mobil, endrer du bare retningen i Flexbox til "kolonne", og vipps så stabler menyen seg ryddig nedover i stedet!

Kort sagt: Flexbox er nettsidens usynlige dirigent som sørger for at elementene dine flytter på seg, krymper eller vokser automatisk for å passe perfekt på alle skjermstørrelser. Du kan posisjonere alt nøyaktig der du ønsker å ha det.

I Elementor finner du settingene til Flexbox under fanen Oppsett i panelet for innstillinger.

Innstillinger for flexbox i Elementor Pro
Flexbox innstillingene i Elementor Pro

I Webflow finner du det under fanen Style - Layout

Flexbox innstillingene i Webflow style panel
Flexbox innstillingene i Webflow

Er det verdt tiden din?

Som du merker, handler det å bygge en nettside om langt mer enn å bare "dra inn noen elementer". For at siden skal oppleves profesjonell, laste raskt, og faktisk fange kunder, ligger djevelen i detaljene. Spør deg selv: Er din tid best brukt på å finjustere piksler, marginer og CSS-variabler, eller på å drifte kjernevirksomheten din? Hvorfor ikke la meg lage nettsiden for deg?
Kontakt meg i dag

Avstand/luft

For å gi elementer luft legger du inn paddings og margins på elementene.

  • Padding er luft på innsiden av boksens kant.  Hvis elementet har en fast bredde (f.eks. width: 300px) og du ikke bruker box-sizing: border-box, vil padding gjøre elementet bredere. Heldigvis bruker både Elementor og Webflow border-box som standard, slik at padding holder seg innenfor den gitte bredden. Og det beste er jo å sette boksens bredde i %, slik at den er responsive.
  • Margin er luft på utsiden (avstand til naboelementet). Margin dytter andre elementer unna. Elementet blir ikke bredere, men margen legger til f.eks. 2 rem ekstra slik at den totale bredden blir 50%+50%+2rem som er mer enn de 100% som er tilgjengelig.

Her ser du et eksempel på en container som har to mindre containere inne i seg, en blå og en grå.  Ingen av boksene har hverken padding eller margin satt

Eksempel på text i en blå og en grå boks, begge på 50% bredde.  som ikke har satt padding eller margin.
Container med tekst uten padding eller margin

På dette bildet har jeg lagt 2 rem padding på den blå boksen og en 6% padding på foreldrecontaineren.

To containere, hver på 50% som inneholder et tekst element.  Den blå boksen har fått padding 2rem og har derfor fått luft rundt teksten.

Den blå og grå boksen er nå begge satt til 50% bredde.  Her ser du hva som skjer dersom jeg legger inn en marg på 2 rem på høyre side av den blå boksen.  Da tar den blå boksen og margen mer plass enn 50% til sammen (50% + 2 rem), så den skyver den grå boksen ned til neste linje.

En blå og en grå container med tekst, begge på 50%, men den blå har i tillegg en 2rem margin, så den grå boksen blir sjøvet ned på linjen under.

Her har jeg lagt på en 2 rem marg under den blå boksen for å lage litt luft mellom dem

En blå og en grå container med tekst, begge på 50%.  Den blå boksen hart en marg under på 2 rem, som gir litt luft mellom containerne

I Elementor finner du settingene for margins og paddings under fanen Avansert i redigeringspanelet.

I Webflow finner du dem under Style fanen

Settinger for padding og margin i style panelet til Webflow

Høyde og bredde

Bredde

Når du designer for web, regnes nettsidens bredde som 100% uansett om du har satt den totale bredden for nettsiden til 1920px eller 1200px under globale innstillinger.  Det vil si at du har en bredde på 100% og må tilpasse elementene du legger inn i forhold til det.  

I eksempelet med paddings og margins som du nettopp leste om, var den blå og den grå boksen begge 50% brede.

For at nettsiden din skal tilpasse seg alle skjermbredder er det mest hensiktsmessig å bruke % når du angir bredden på et element.  Altså hvor mye av 100% bredden den skal ta.  Det gjør det også lettere for deg da du ikke behøver å regne om px eller rem til %.  

Høyde

Som regel behøver du ikke å sette noen høyde på et element siden den reguleres etter hva som ligger inne i elementet (eks andre elementer).  Men, du kan avgrense høyden ved å sette en høyde på f.eks et bakgrunnsbilde. Høyde setter du alltid i px eller rem.  % fungerer ikke så bra for høyden, da høyden på siden ikke er satt til en bestemt maks høyde.  

For å hindre at bilder blir strukket eller klemt sammen, men likevel vil avgrense hvor høyt det skal være, setter du bredden til auto. (eller omvendt dersom du vil bestemme bredden på bildet)

Konklusjon: Skal du bygge selv, eller overlate det til en ekspert?

Å designe en nettside i et moderne CMS-system gir deg fantastiske muligheter. Det er fullt mulig å gjøre det selv – men som du ser i denne guiden, krever det at du setter deg inn i alt fra typografi og linjeavstander, til boks-modeller, maksbredder og responsivitet.

En feilmargin her eller en feil fontstørrelse der, kan være forskjellen på om en potensiell kunde tar kontakt med deg, eller klikker seg frustrert ut av siden fordi teksten var umulig å lese på mobilen.

Vil du ha en nettside som faktisk fungerer – uten hodepinen?

Hvis du vil være helt sikker på at det visuelle hierarkiet stemmer, at koden i bakgrunnen er ren, og at designet ditt oppleves profesjonelt på absolutt alle skjermer, hjelper jeg deg gjerne.

Jeg tar meg av alt det tekniske og det visuelle, slik at du kan fokusere på det du er best til: din bedrift.

Kontakt meg for en uforpliktende prat

Les også:

Behov for en nettside eller en logo?
Kontakt meg for et uforpliktende tilbud

Jeg er hørselshemmet.
Derfor kan det være litt vanskelig for meg å høre hva du sier i telefonen. Så kontakt meg helst via kontaktskjema, send meg en epost eller chat.

Kontakt meg for et uforpliktende tilbud

Tusen takk! Din beskjed er sendt og jeg tar kontakt med deg så snart jeg kan.
Ha en fortsatt fin dag!
Oj, oj Noe gikk galt. Din beskjed er ikke sendt. Forsøk igjen eller kontakt meg på epost isteden.