Ako sa vyhnúť problému 'záblesku neštýlovaného obsahu' (FOUC)?
sobes.tech AI
Odpoveď od AI
Najúčinnejšie spôsoby:
-
Synchronizované načítanie CSS: Umiestnite
<link rel="stylesheet">do<head>dokumentu, aby prehliadač načítal a aplikoval štýly pred vykreslením obsahu.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Môj App</title> <link rel="stylesheet" href="/styles/main.css"> <!-- Ostatné tagy v head --> </head> -
Vloženie kritických štýlov: Vložte štýly potrebné na zobrazenie viditeľnej časti stránky ("Above the fold") priamo do
<head>pomocou<style>. To zrýchli počiatočné vykreslenie. Ostatné štýly môžu byť načítané asynchrónne.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Môj App</title> <style> /* Kritické štýly tu */ body { margin: 0; padding: 0; } h1 { color: blue; } </style> <link rel="stylesheet" href="/styles/main.css"> <!-- Ostatné tagy v head --> </head> -
Použitie
font-display: swapalebo podobných vlastností pre písma: Pre vlastné písma, ktoré môžu spôsobovať FOUT (Flash of Unstyled Text), použitefont-displayv pravidle@font-facev CSS.swapumožňuje okamžite zobraziť text systémovým písmom a nahradiť ho vlastným po načítaní.@font-face { font-family: 'MyCustomFont'; src: url('my-custom-font.woff2') format('woff2'); font-display: swap; /* Ale fallback, voliteľné, block */ } -
Použitie ľahkých šablón (pri server-side renderingu): Ak používate SSR, môžete do HTML vložiť minimálny súbor štýlov potrebných na zobrazenie skeletu stránky.
-
Minimalizácia a zlúčenie CSS súborov: Zníženie počtu HTTP požiadaviek a veľkosti CSS súborov zrýchľuje ich načítanie.
-
Použitie nástrojov na zostavovanie: Webpack, Parcel a ďalšie môžu automaticky vkladať kritické štýly a optimalizovať CSS.