Sobes.tech
Middle

Stilsiz məzmunun parıltısı (FOUC) problemini necə qarşısını almaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Ən effektiv üsullar:

  1. Senkron CSS yükləmə: <link rel="stylesheet"> elementini sənədin <head> hissəsinə yerləşdirin ki, brauzer tərtib etməzdən əvvəl stilləri yükləsin və tətbiq etsin.

    <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">
      <!-- Digər head etiketləri -->
    </head>
    
  2. Tənqidi stilləri inline etmək: Səhifənin görünən hissəsini ("Above the fold") göstərmək üçün lazım olan stilləri birbaşa <head><style> ilə daxil edin. Bu ilkin renderi sürətləndirir. Digər stillər asinxron yüklənə bilər.

    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>My App</title>
      <style>
        /* Tənqidi stillər burada */
        body { margin: 0; padding: 0; }
        h1 { color: blue; }
      </style>
      <link rel="stylesheet" href="/styles/main.css">
      <!-- Digər head etiketləri -->
    </head>
    
  3. font-display: swap və ya oxşar xüsusiyyətlərdən istifadə: Xüsusi şriftlər FOUT (Unstyled Text-in Birdən Görünməsi) ilə nəticələnirsə, CSS-də @font-face qaydasında font-display istifadə edin. swap mətnin dərhal sistem şrift ilə göstərilməsinə və yükləndikdən sonra xüsusi şriftlə əvəz olunmasına imkan verir.

    @font-face {
      font-family: 'MyCustomFont';
      src: url('my-custom-font.woff2') format('woff2');
      font-display: swap; /* və ya fallback, optional, block */
    }
    
  4. Serverdə render edilən yüngül şablonların tətbiqi: Əgər SSR istifadə olunursa, HTML-ə səhifənin skeletini göstərmək üçün lazım olan minimal stil dəstini daxil edin.

  5. CSS fayllarını minimallaşdırmaq və birləşdirmək: HTTP sorğularının sayını və CSS fayllarının ölçüsünü azaltmaq yükləmə vaxtını sürətləndirir.

  6. Yığma alətlərindən istifadə: Webpack, Parcel və digər bundlerlər kritik stillərin avtomatik daxil edilməsini və CSS optimizasiyasını təmin edə bilər.