Kaip išvengti 'neapipavidalinto turinio blyksnio' (FOUC)?
sobes.tech AI
Atsakymas iš AI
Veiksmingiausi būdai:
-
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> -
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> -
Naudojant
font-display: swaparba panašias savybes šriftams: naudokitefont-display@font-facetaisyklė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 */ } -
Naudojant serverio pusės renderinimo (SSR) šviesos šablonus: jei naudojamas SSR, HTML galima įterpti minimalų stilių rinkinį, reikalingą puslapio skeletui atvaizduoti.
-
CSS failų minimizavimas ir sujungimas: sumažinkite HTTP užklausų skaičių ir CSS failų dydį, kad juos būtų greičiau įkeliama.
-
Naudojant statybos įrankius: Webpack, Parcel ir kiti įrankiai gali automatiškai įterpti kritinius stilius ir optimizuoti CSS.