Sobes.tech
Middle

Kuidas vältida 'stilsita sisu välguga' (FOUC) probleemi?

sobes.tech AI

Vastus AI-lt

Tõhusad viisid:

  1. Sünkroonne CSS laadimine: asetage <link rel="stylesheet"> <head> sektsiooni, et brauser laadiks ja rakendaks stiile enne sisu renderdamist.

    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>My App</title>
      <link rel="stylesheet" href="/styles/main.css">
      <!-- Teised `<head>` elemendid -->
    </head>
    
  2. Kriitiliste stiilide sisestamine: sisestage stiilid, mis on vajalikud nähtava osa ("Above the fold") kuvamiseks, otse <head> sektsiooni <style>-i abil. See kiirendab esialgset renderdamist:

    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>My App</title>
      <style>
        /* Kriitilised stiilid */
        body { margin: 0; padding: 0; }
        h1 { color: blue; }
      </style>
      <link rel="stylesheet" href="/styles/main.css">
      <!-- Teised `<head>` elemendid -->
    </head>
    
  3. font-display: swap või sarnaste omaduste kasutamine fontidele: kasutage font-display @font-face reeglites, et tekst kuvatakse kohe süsteemifondiga ja asendatakse see kohandatud fondiga laadimise järel:

    @font-face {
      font-family: 'MyCustomFont';
      src: url('my-custom-font.woff2') format('woff2');
      font-display: swap; /* või fallback, optional, block */
    }
    
  4. Serveripoolse renderdamise (SSR) kerge šabloonide kasutamine: kui kasutatakse SSR-i, saab HTML-i sisestada minimaalse vajaliku stiilide komplekti, et kuvada lehe skeleti.

  5. CSS failide minimeerimine ja ühendamine: vähendage HTTP-päringute arvu ja CSS-failide suurust, et neid kiiremini laadida.

  6. Ehitusvahendite kasutamine: Webpack, Parcel ja teised tööriistad võivad automaatselt integreerida kriitilised stiilid ja optimeerida CSS-i.