Hogyan kerülhető el az 'stílus nélküli tartalom villanása' (FOUC) problémája?
sobes.tech MI
Válasz az MI-től
A leghatékonyabb módszerek:
-
Szinkrón CSS betöltés: Helyezze a
<link rel="stylesheet">elemet a dokumentum<head>részébe, hogy a böngésző a tartalom renderelése előtt betöltse és alkalmazza a stílusokat.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Saját alkalmazásom</title> <link rel="stylesheet" href="/styles/main.css"> <!-- Egyéb head tagek --> </head> -
Kritikus stílusok inline beillesztése: A látható rész ("Above the fold") megjelenítéséhez szükséges stílusokat közvetlenül a
<head>-be helyezze<style>segítségével. Ez felgyorsítja az első renderelést. A többi stílus aszinkron betölthető.<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Saját alkalmazásom</title> <style> /* Kritikus stílusok itt */ body { margin: 0; padding: 0; } h1 { color: blue; } </style> <link rel="stylesheet" href="/styles/main.css"> <!-- Egyéb head tagek --> </head> -
font-display: swapvagy hasonló tulajdonságok használata: Egyedi betűtípusok esetén, amelyek FOUT-ot (Flash of Unstyled Text) okozhatnak, használja afont-display-t az@font-faceszabályban a CSS-ben. Aswapazonnal megjeleníti a szöveget a rendszer betűtípusával, és később lecseréli a betöltött egyedi betűtípusra.@font-face { font-family: 'MyCustomFont'; src: url('my-custom-font.woff2') format('woff2'); font-display: swap; /* Vagy fallback, opcionális, blokk */ } -
Lágy sablonok alkalmazása (szerveroldali renderelés esetén): Ha SSR-t használ, az HTML-be beágyazhat minimális stílusokat, amelyek szükségesek a lap vázának megjelenítéséhez.
-
CSS fájlok minimalizálása és egyesítése: Csökkentse a HTTP-kérések számát és a CSS fájlok méretét a gyorsabb betöltés érdekében.
-
Build eszközök használata: A Webpack, Parcel és más csomagolók automatizálhatják a kritikus stílusok beágyazását és a CSS optimalizálását.