Webfonts laden: font-display, preload en subsetting

Webfonts laden

Webfonts laden: font-display, preload, subsetting | We.Inc

Zie met een tijdlijnsimulator wat elke font-display-waarde doet, en gebruik daarna preload, preconnect, subsets met unicode-range en aangepaste fallback-metrics om layout shift te stoppen.

Snel lettertypen laden komt neer op vier stappen: vertel de browser vroeg over het lettertype (preconnect of preload), stuur kleine WOFF2-bestanden met alleen de tekens die u nodig hebt, kies een font-display-waarde die bij de tekst past, en geef het fallback-lettertype dezelfde afmetingen zodat er niets verspringt. Gebruik font-display: optional wanneer het vermijden van layout shift het belangrijkst is.

font-display-waarden in één oogopslag

Lettertypen zijn een van de weinige bronnen die uw tekst kunnen verbergen of de layout kunnen laten verschuiven. Sleep de schuifregelaar hieronder om in te stellen hoe lang een lettertype nodig heeft om binnen te komen en bekijk wat elke font-display-waarde op elk moment toont. Kopieer daarna de laadpatronen die pagina's stabiel houden.

Veelgestelde vragen

Wat doet font-display: swap?

Het geeft het lettertype een extreem korte blokperiode, die volgens de CSS Fonts-specificatie bij voorkeur 100ms of korter is, en een oneindige swapperiode. Tekst verschijnt vrijwel direct in het fallback-lettertype en wisselt naar het webfont zodra dat klaar is met laden.

Is font-display: swap slecht voor CLS?

Dat kan. Als de fallback en het webfont een andere breedte of regelhoogte hebben, verschuift de late wissel de tekst en de inhoud eronder. Los dat op met size-adjust en de overrides voor ascent, descent en line-gap op de fallback, of gebruik optional.

Waarom wordt mijn gepreloade lettertype twee keer gedownload?

Lettertypen worden opgehaald in anonieme CORS-modus, dus de preload-link heeft het crossorigin-attribuut nodig, zelfs als het bestand op dezelfde origin staat. Zonder dat attribuut komt de preload niet overeen met het echte verzoek en wordt het lettertype opnieuw opgehaald.

Moet ik Google Fonts preloaden?

Meestal niet. web.dev waarschuwt dat preloaden een deel van de eigen content negotiation van de browser omzeilt, waaronder unicode-range, zodat u mogelijk een subset ophaalt die de pagina nooit gebruikt. Gebruik in plaats daarvan preconnect naar fonts.googleapis.com en fonts.gstatic.com, of host zelf en preload uw eigen bestand.

Hoe bespaart unicode-range bytes?

Als een @font-face-regel een unicode-range heeft, downloadt de browser dat bestand alleen als de pagina minstens één teken uit dat bereik gebruikt. Splits een lettertype in Latijnse, Cyrillische of Griekse bestanden en elke bezoeker haalt alleen de schriften op die op de pagina staan.

De tijdlijn van font-display

Waarom late wissels layout shift veroorzaken

Subsetting

Zelf gehost lettertype met preload

Preload het ene bestand dat het eerste scherm nodig heeft

as, type en crossorigin moeten alle drie aanwezig zijn. De @font-face-regel staat inline in de head, zodat hij meteen wordt gevonden.

Bestanden splitsen met unicode-range

Latijnse en Cyrillische subsets van één familie

Beide regels delen een familienaam. Een pagina die alleen in het Engels is geschreven, downloadt het Cyrillische bestand nooit.

Een fallback met passende afmetingen

Aangepaste lokale fallback om layout shift te beperken

De getallen zijn voorbeeldwaarden: meet uw eigen lettertype ten opzichte van de fallback en stem ze af tot de twee gelijk lopen.

Google Fonts met preconnect en een subset voor één kop

De tweede stylesheet vraagt alleen de letters uit de logotekst op, waardoor dat bestand piepklein blijft.

Simulator voor de font-display-tijdlijn

Beginweergave: het lettertype heeft 1.5 seconden nodig om te laden; sleep de schuifregelaar om dat te wijzigen. Grijs is onzichtbare tekst, amber de fallback, blauw het webfont.

Lettertype komt binnen na {n}s

Webfont niet gebruikt bij deze paginaweergave

Zichtbare wissel: tekst kan verspringen

Geen zichtbare wissel

Schaal: 0 tot 5 seconden. Met optional staat de specificatie de browser toe een late download af te breken of met zeer lage prioriteit af te maken.

Door de specificatie aanbevolen periodes

Waarde

Periodes

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap