Jak předejít problému s 'blýskáním neformátovaného obsahu' (FOUC)?
sobes.tech AI
Odpověď od AI
Nejúčinnější metody:
-
Synchronní načítání CSS: Umístěte
<link rel="stylesheet">do<head>dokumentu, aby prohlížeč načetl a použil styly před vykreslením obsahu.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Moje aplikace</title> <link rel="stylesheet" href="/styles/main.css"> <!-- Další tagy v head --> </head> -
Vkládání kritických stylů: Vložte styly potřebné k zobrazení viditelné části stránky ("Above the fold") přímo do
<head>pomocí<style>. To urychlí počáteční vykreslení. Ostatní styly lze načíst asynchronně.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Moje aplikace</title> <style> /* Kritické styly zde */ body { margin: 0; padding: 0; } h1 { color: blue; } </style> <link rel="stylesheet" href="/styles/main.css"> <!-- Další tagy v head --> </head> -
Použití
font-display: swapnebo podobných vlastností pro písma: U vlastních písem, která mohou způsobit FOUT (Flash of Unstyled Text), použijtefont-displayv pravidle@font-facev CSS.swapumožní okamžitě zobrazit text systémovým písmem a nahradit ho vlastním po načtení.@font-face { font-family: 'MyCustomFont'; src: url('my-custom-font.woff2') format('woff2'); font-display: swap; /* Nebo fallback, volitelné, block */ } -
Použití lehkých šablon (při server-side renderingu): Pokud používáte SSR, můžete do HTML vložit minimální sadu stylů potřebných k zobrazení skeletu stránky.
-
Minimalizace a sloučení CSS souborů: Snížení počtu HTTP požadavků a velikosti CSS souborů urychlí jejich načítání.
-
Použití nástrojů pro sestavení: Webpack, Parcel a další bundlery mohou automatizovat vkládání kritických stylů a optimalizaci CSS.