Forbedre Interaction to Next Paint ved å droppe JavaScript-scrolling

Skap en vakker og jevn scrolleopplevelse som ikke påvirker Core Web Vitals

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-02-07

Erstatt JavaScript-scrolling med CSS i dag

Denne bloggposten har litt historikk. Frem til 2017 var den eneste måten å legge til konsekvent jevn scrolleadferd på å bruke et JavaScript-bibliotek. Og mange utviklere gjorde nettopp det. Core Web Vitals eksisterte ikke ennå, og alle brukte jQuery som sitt viktigste JavaScript-bibliotek.

Spol frem til i dag. Det finnes mye bedre, raskere og enklere alternativer til JavaScript-basert ankerscrolling. Men som Core Web Vitals-konsulent ser jeg dem fortsatt hver dag. 


Hvorfor JavaScript-basert scrolling er ‘dårlig’

schermafdruk van 2024 10 03 21 31 22

JavaScript-basert scrolling er dårlig av 2 grunner: det er komplisert og det er tregt.

Komplisert: JavaScript-basert scrolling er unødvendig komplisert. Du må skrive og vedlikeholde vanskelig lesbar kode, og selv om Window.scrollTo()-metoden har gjort denne koden mye enklere, er den fortsatt mye vanskeligere å vedlikeholde.

Tregt. JavaScript har en tendens til å blokkere hovedtråden og er alltid tregere enn sin CSS-motpart.  Avhengig av hvordan scrollefunksjonen er implementert, kan den blokkere hovedtråden i ganske lang tid og forårsake en betydelig forsinkelse i Interaction to Next Paint-metrikken!

Hvorfor CSS Smooth Scrolling er ‘bra’

Jeg snakket om hvorfor JavaScript-basert scrolling er dårlig. Det motsatte gjelder for CSS-basert smooth scrolling. Det er virkelig så enkelt som å legge til følgende i stilarket ditt:

html{ scroll-behavior: smooth;}

Enkelt og effektivt

CSS-enlinjen html { scroll-behavior: smooth; } er superenkel å implementere og mer effektiv enn JavaScript-baserte løsninger. Denne enkle kodelinjen aktiverer jevn scrolling for hele siden uten noen vanskelige JavaScript-funksjoner å vedlikeholde.

Bedre ytelse

CSS-basert smooth scrolling håndteres naturlig av nettleseren og vil i alle tilfeller utkonkurrere JavaScript-implementasjoner. Dette er spesielt viktig for å optimalisere Interaction to Next Paint (INP)-metrikken, siden det vil være mindre belastning på nettleserens hovedtråd.

Nettleserkompatibilitet

CSS smooth scrolling har ganske god nettleserstøtte. Eldre nettlesere, der smooth scrolling ikke støttes, faller ganske enkelt tilbake til standard direktehopp til ankeret.

Enkel tilpasning

CSS lar deg enkelt tilpasse scrolleadferden. For eksempel lar scroll-margin-top-egenskapen deg angi toppavstanden til det scrollede elementet:

h1, h2, h3 {scroll-margin-top: 5rem;} 

Eller enda enklere med 'target'-pseudoklassen

:target {scroll-margin-top: 5rem;} 

Komplett eksempel:

For å se denne koden i aksjon, klikk på innholdsfortegnelsen øverst på denne siden. Du vil legge merke til en fin, jevn scrolling til det klikkede ankeret. 

Her er et forenklet eksempel du kan kopiere og gjenbruke

<html>

<head>
    <title>Smooth scroll to target</title>
    <style>
        html {
            scroll-behavior: smooth;
        }
        :target {
            scroll-margin-top: 5rem;
        }
        .largedivider {
            height: 1000px;
        }

    </style>
   
</head>

<body>
    <nav>
        <a href="#target">scroll to target</a>
    </nav>
    <div class="largedivider"> -- </div>
    <h2 id="target">scroll to me</h2>
    <div class="largedivider"> -- </div>
</body>

</html>

Secure your Q3 Metrics.

Do not let technical debt derail your Core Web Vitals. I provide the strategy, the code, and the verification to pass Google's assessment.

Start the Engagement >>

  • Strategic Planning
  • Code Implementation
  • Verification & Testing
Forbedre Interaction to Next Paint ved å droppe JavaScript-scrollingCore Web Vitals Forbedre Interaction to Next Paint ved å droppe JavaScript-scrolling