Sobes.tech
Middle

როგორ დავიცვათ 'სტილიზებული არარის შინაარსის ფლეში' (FOUC)?

sobes.tech AI

პასუხი AI-სგან

ეფექტური მეთოდები:

  1. სინქრონული CSS-ის ჩატვირთვა: <link rel="stylesheet"> განათავსეთ <head> ნაწილში, რათა ბრაუზერმა ჩატვირთოს და გამოიყენოს სტილები რენდერამდე.

    <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">
      <!-- სხვა `<head>` ელემენტები -->
    </head>
    
  2. კრიტიკული სტილების ინტეგრირება: ჩასვით სტილები, რომლებიც აუცილებელია გვერდის ხილვად ნაწილზე ("Above the fold"), პირდაპირ <head>-ში <style> ტეგით. ეს აჩქარებს პირველ რენდერებას:

    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>My App</title>
      <style>
        /* კრიტიკული სტილები */
        body { margin: 0; padding: 0; }
        h1 { color: blue; }
      </style>
      <link rel="stylesheet" href="/styles/main.css">
      <!-- სხვა `<head>` ელემენტები -->
    </head>
    
  3. ფონტებისთვის font-display: swap ან მსგავსი თვისებების გამოყენება: მომხმარებლის მიერ შექმნილი ფონტებისთვის, რომლებიც შეიძლება გამოიწვიოს FOUT (Unstyled Text), გამოიყენეთ font-display @font-face წესში. swap საშუალებას აძლევს ტექსტი დაუყოვნებლივ გამოჩნდეს სისტემური ფონტით და შეცვალოს იგი კოსტომით ბატვირთვის შემდეგ:

    @font-face {
      font-family: 'MyCustomFont';
      src: url('my-custom-font.woff2') format('woff2');
      font-display: swap; /* ან fallback, optional, block */
    }
    
  4. სერვერული რენდერინგის (SSR) ლაითრუზ-შაბლონების გამოყენება: თუ გამოიყენება SSR, შეგიძლიათ HTML-ში ჩასვათ მინიმალური საჭირო სტილები, რომლებიც აუცილებელია გვერდის სკელეტის გამოსაჩენად.

  5. CSS ფაილების მინიმალიზაცია და გაერთიანება: HTTP მოთხოვნების რაოდენობა და CSS ფაილების ზომა შემცირებით, მათ ჩატვირთვა სწრაფი ხდება.

  6. საშუალებების გამოყენება: Webpack, Parcel და სხვა ბილდერები ავტომატურად შეძლებენ კრიტიკული სტილების ინტეგრირებას და CSS-ის ოპტიმიზაციას.