Sobes.tech
Middle

Kaip išvengti 'neapipavidalinto turinio blyksnio' (FOUC)?

sobes.tech AI

Atsakymas iš AI

Veiksmingiausi būdai:

  1. Sinchroninis CSS įkėlimas: <link rel="stylesheet"> įdėkite į <head> dalį, kad naršyklė įkeltų ir pritaikytų stilius prieš turinio atvaizdavimą.

    <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">
      <!-- Kiti `<head>` elementai -->
    </head>
    
  2. Kritinių stilių įterpimas: įterpkite stilius, reikalingus matomai puslapio daliai ("Above the fold"), tiesiogiai <head> naudodami <style> žymą. Tai pagreitina pradinį atvaizdavimą:

    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>My App</title>
      <style>
        /* Kritiniai stiliai */
        body { margin: 0; padding: 0; }
        h1 { color: blue; }
      </style>
      <link rel="stylesheet" href="/styles/main.css">
      <!-- Kiti `<head>` elementai -->
    </head>
    
  3. Naudojant font-display: swap arba panašias savybes šriftams: naudokite font-display @font-face taisyklėje, kad būtų galima iš karto rodyti tekstą sisteminiu šriftu ir pakeisti jį kustomu po įkėlimo:

    @font-face {
      font-family: 'MyCustomFont';
      src: url('my-custom-font.woff2') format('woff2');
      font-display: swap; /* arba fallback, optional, block */
    }
    
  4. Naudojant serverio pusės renderinimo (SSR) šviesos šablonus: jei naudojamas SSR, HTML galima įterpti minimalų stilių rinkinį, reikalingą puslapio skeletui atvaizduoti.

  5. CSS failų minimizavimas ir sujungimas: sumažinkite HTTP užklausų skaičių ir CSS failų dydį, kad juos būtų greičiau įkeliama.

  6. Naudojant statybos įrankius: Webpack, Parcel ir kiti įrankiai gali automatiškai įterpti kritinius stilius ir optimizuoti CSS.