Nå endres H1-taggen: «Når treffer dette meg, hva må jeg gjøre?»

Sjelden endring i H1-tagger, LQIP med kun CSS og tilbake til interface igjen, i ukas ForrigeUke.

Petter Sæther Moen forteller om den store endringen i H1-taggen. 📸: Bekk / MDN / kode24
Petter Sæther Moen forteller om den store endringen i H1-taggen. 📸: Bekk / MDN / kode24 Vis mer

Dette var uka for å fikse prodfeil🔥, få hjelp av AI til koding🙏 — og 670 ting som skjedde i frontendverdenen!

LQIP med kun CSS 😶🌫️

LQIP — eller Low Quality Image Placeholder — er en kjent teknikk for å vise en uskarp forhåndsvisning av bildene dine mens de ekte bildene laster inn.

Du har sikkert sett det: en supertåkete versjon av bildet som gir brukeren en følelse av at noe er på vei, i stedet for en tom flate.

Eksempel på LQIP fra Lean Rada sitt CSS only LQIP galleri.
Eksempel på LQIP fra Lean Rada sitt CSS only LQIP galleri. Vis mer

De fleste LQIP løsninger fungerer ved at du forhåndsgenererer en slags ekstremt komprimert versjon av bildet — tenk på det som en pikselert miniatyr som er så liten at du faktisk kan bake den rett inn i HTML-en. På den måten har du noe klart til visning med én gang, før det faktiske bildet lastes inn.

Mange slike løsninger — som f.eks. BlurHash — støtter seg ofte på JavaScript for å gjøre om denne LQIP-verdien til et bilde. Lean har derimot lagd en egen versjon som kun benytter seg av CSS! 🔥

Lean har skrevet en artikkel som viser hvordan de gjør dette — med gode illustrasjoner og en trinnvis forklaring på hvordan man går fra et 6-tegns tall til et faktisk bilde, helt uten JS. Helt klart verdt å lese litt om!

Tilbake til interface igjen 🔄️

Hvis du noen gang har jobbet i en TypeScript-kodebase sammen med andre, har du nok opplevd diskusjonen:

Skal vi bruke type eller interface til å beskrive objekt-typer?

Mange sverger til type, siden det (stort sett) kan gjøre det samme som interface, og da er det jo ryddigere å bare bruke én måte å deklarere typer på. Andre foretrekker interface fordi det føles mer kjent for utviklere med bakgrunn i objektorientert programmering – det ligner på det vi kjenner fra språk som Java, både i form og funksjon.

Matt Pocock, et kjent navn i TypeScript-verden, har hatt en noe turbulent reise i denne debatten. Han har vært en tydelig forkjemper for type (før han skiftet mening og støttet interface, for så å vende tilbake til type igjen). Nå har han enda en gang snudd – og forklarer i en ny video hvorfor interface kanskje er det riktige valget for deg .

Videoen gir en god gjennomgang av noen rare — og overraskende — forskjeller mellom type og interface. Visste du for eksempel at type-intersections kan være skikkelig trege, og at Shopify klarte å halvere kompileringstiden sin bare ved å bytte til interface? 🤯

Selv har jeg alltid hatt en svakhet for interface, så nå har jeg i hvert fall litt ekstra krutt til neste krangel med teamet 😎

Konsekvente h1-stiler blir ny standard 💻

Nettlesere kommer med en del standard stiler for elementer. Som alt annet på webben så er det sjeldent at standarder endrer seg, da det potensielt knekker en hel del nettsider uten særlig forvarsel.

Men nå skjer det faktisk en liten endring i hvordan <h1>-taggen ser ut!

H1-taggene stiles om i nettleseren din, fra eksempelet øverst til eksempelet nederst. 📸: MDN
H1-taggene stiles om i nettleseren din, fra eksempelet øverst til eksempelet nederst. 📸: MDN Vis mer

I dag har <h1>-taggen litt forskjellig styling basert på om den ligger inni en seksjoneringstag (<section>, <article>, <aside> eller <nav>). Har du f.eks. en <h1> nøstet inni en <section>, så vil den ha lik størrelse som en <h1>-tag. Men, ikke nå lenger.

Nå rulles det ut endringer i nettlesere hvor disse stilene fjernes. Nå vil <h1> alltid se like stor ut, uansett hvor dypt den er nøstet i seksjoneringstagger.

Når treffer dette meg og hva må jeg gjøre? Det har heldigvis MDN skrevet litt om i bloggposten sin rundt endringen!