Sobes.tech
Middle

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:

  1. 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>
    
  2. 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>
    
  3. font-display: swap vagy hasonló tulajdonságok használata: Egyedi betűtípusok esetén, amelyek FOUT-ot (Flash of Unstyled Text) okozhatnak, használja a font-display-t az @font-face szabályban a CSS-ben. A swap azonnal 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 */
    }
    
  4. 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.

  5. 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.

  6. 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.