Eine kurze Analyse des CSS-Ladens und der Ladereihenfolge
Dieser Artikel ist sehr gut für Grundschüler und Freunde geeignet. Dieser Artikel stellt hauptsächlich das Laden und die Ladereihenfolge von CSS sowie die Analyse der aufgetretenen Probleme vor. Der Artikel gibt Ihnen auch eine ergänzende Einführung in die Ladereihenfolge von HTML, CSS und js. Freunde in Not können darauf verweisen, ich hoffe, es kann allen helfen.
Übliche CSS-Ladereihenfolge
Im Allgemeinen wird unser CSS-Stylesheet an der Spitze platziert. Um Anfragen zu reduzieren, führen wir normalerweise das CSS zusammen und komprimieren es. Derzeit wird unser CSS im Allgemeinen wie folgt geladen:
<head> <link rel="stylesheet" href="/all-of-my-styles.css"> </head> <body> …content… </body>
Das ist in Ordnung, aber es gibt mehrere Leistungsprobleme, die wir weiter optimieren können:
Probleme:
Alle CSS Alle werden in einer Datei zusammengeführt und komprimiert und am Kopf der Seite geladen. Vielleicht verwenden wir auf dem ersten Bildschirm nur ein wenig CSS, laden aber das gesamte CSS in den Header, was zu unangemessenem Laden und Ressourcenverschwendung führt. Wenn das CSS sehr groß ist, wirkt sich dies erheblich auf die Ladegeschwindigkeit der Webseite und die Anzeigegeschwindigkeit des ersten Bildschirms aus.
Eine andere Denkweise
Wenn keine Zusammenführung und keine einzige CSS-Komprimierungsreferenz vorhanden ist, ist die Dateigröße kleiner, aber die Anzahl der Anforderungen ist größer. Nach Abwägung der beiden und Durchführung eines Leistungstestvergleichs stellten wir fest, dass die folgende Schreibmethode tatsächlich schneller ist, als das gesamte CSS im Kopf zu platzieren und alles auf einmal zu laden, und dass die Geschwindigkeit der ersten Bildschirmanzeige schneller ist:
<head> </head> <body> <!-- HTTP/2 push this resource, or inline it, whichever's faster --> <link rel="stylesheet" href="/site-header.css"> <header>…</header> <link rel="stylesheet" href="/article.css"> <main>…</main> <link rel="stylesheet" href="/comment.css"> <section class="comments">…</section> <link rel="stylesheet" href="/about-me.css"> <section class="about-me">…</section> <link rel="stylesheet" href="/site-footer.css"> <footer>…</footer> </body>
Aber es gibt immer noch Leistung, die optimiert werden kann!
Zum Beispiel:
Nur die Kopfzeile und die Artikel werden auf dem ersten Bildschirm angezeigt, andere Module werden nicht auf dem ersten Bildschirm angezeigt. Dann können wir das CSS anderer Module vollständig asynchron laden. Wie lade ich asynchron?
Siehe unten
loadCSS und Preload
Zum Thema Preload werden wir zwei Artikel veröffentlichen, die jeder lesen kann:
1. Pass rel="preload " Inhalt vorladen: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Preloading_content
2. W3-Dokumentation vorladen: https://www.w3.org/TR /preload /
Für einige CSS, die nicht auf dem ersten Bildschirm geladen werden, können wir es wie folgt schreiben:
<link rel="preload" href="path/to/haorooms.css" as="style" onload="this.rel='stylesheet'">
um zu verhindern, dass der Browser js verbietet. wir können es auch wie folgt schreiben:
<link rel="preload" href="path/to/haorooms.css" as="style" onload="this.rel='stylesheet'">
Um zu vermeiden, dass einige Browser das Handler-Attribut rel='stylesheet' erneut aufrufen, empfehlen wir generell die folgende Schreibweise:
<link rel="preload" href="path/to/haorooms.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="path/to/haorooms.css"></noscript>
Für eine bessere Kompatibilität mit rel=preload können Sie LoadCSS verwenden, Github-Adresse: https://github.com/filamentgroup/loadCSS
Daher können Sie ohne Berücksichtigung von Browserkompatibilitätsproblemen (unter Berücksichtigung von Kompatibilitätsproblemen) verwenden LoadCss, hier keine weitere Demonstration), wir haben den obigen Code erneut optimieren:
<head> <link rel="stylesheet" href="/首屏加载css.css"> <link rel="preload" href="/不是首屏加载的css.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> </head> <body> <header>…</header> <main>…</main> <section class="comments">…</section> <section class="about-me">…</section> <footer>…</footer> </body>
PS: Werfen wir einen Blick auf die Ladereihenfolge von HTML, CSS und JS
<head lang="en"> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="css/*.css"> <script src="js/*.js></script> </head>
Die Ladereihenfolge von DOM-Dokumenten erfolgt von oben nach unten. Sequentielles Laden; DOM wird in den Link-Tag geladen
Das Laden der CSS-Datei erfolgt parallel zum Laden des DOM Das heißt, der Dom lädt und baut weiter, wenn das CSS geladen wird, und der dabei angetroffene CSS-Stil oder IMG sendet eine Anfrage an den Server. Nachdem die Ressource zurückgegeben wurde, wird sie dem entsprechenden hinzugefügt Position im Dom;
2. Das DOM wird in das Skript-Tag geladen
Da die js-Datei nicht parallel zum DOM geladen wird, müssen Sie auf die gesamte js-Datei warten Wenn die JS-Skriptdatei zu groß ist, kann dies zu Verzögerungen bei der Anzeige der Browserseite führen. Dieser Effekt wird als „Blockierungseffekt“ bezeichnet zu einer sehr schlechten Benutzererfahrung;
Und diese Funktion ist auch der Grund, warum $(document).ready(function(){ am Anfang der js-Datei }) oder (function(){}) oder benötigt wird window.onload, das heißt, die js-Datei wird erst ausgeführt, nachdem das DOM-Dokument geladen wurde, sodass es keine Probleme gibt, z. B. dass der DOM-Knoten nicht gefunden werden kann.
js blockiert andere Der Grund dafür Das Laden von Ressourcen besteht darin, dass der Browser den DOM-Baum neu erstellen muss
Voraussetzung: js ist ein externes Skript;
Fügen Sie defer="ture" im Skript-Tag hinzu, wodurch js und DOM parallel geladen werden, nachdem die Seite geladen wurde, sodass keine Blockierung erfolgt Fügen Sie im Scirpt-Tag async="ture" hinzu. Dieses Attribut teilt dem Browser mit, dass die JS-Datei asynchron geladen und ausgeführt wird, das heißt, sie hängt nicht von anderen JS- und CSS-Dateien ab garantiert, aber es kann auch parallel zum DOM-Effekt geladen werden. Wenn die Defer-Attribute gleichzeitig verwendet werden, ist das Defer-Attribut ungültig das Scipt-Tag nach dem Body-Tag, damit es zu keinen Ladekonflikten kommt. Verwandte Empfehlungen: Ladereihenfolge und Ausführung von HTML-, CSS- und JS-Dateien Seitenladereihenfolge problem_html /css_WEB- ITnoseDetaillierte Einführung in die Ausführungsergebnisse der Ladereihenfolge von Klassen in Java
Das obige ist der detaillierte Inhalt vonEine kurze Analyse des CSS-Ladens und der Ladereihenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Standardstil der Bootstrap -Liste kann mit CSS -Override entfernt werden. Verwenden Sie spezifischere CSS -Regeln und -Sektors, befolgen Sie das "Proximity -Prinzip" und das "Gewichtsprinzip" und überschreiben Sie den Standardstil des Bootstrap -Standards. Um Stilkonflikte zu vermeiden, können gezieltere Selektoren verwendet werden. Wenn die Überschreibung erfolglos ist, passen Sie das Gewicht des benutzerdefinierten CSS ein. Achten Sie gleichzeitig auf die Leistungsoptimierung, vermeiden Sie eine Überbeanspruchung von! Wichtig und schreiben Sie prägnante und effiziente CSS -Code.

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

Die Größe einer Bootstrap -Liste hängt von der Größe des Containers ab, der die Liste enthält, nicht die Liste selbst. Die Verwendung von Bootstraps Grid -System oder Flexbox kann die Größe des Containers steuern und dadurch indirekt die Listenelemente ändern.

Die Datei -Upload -Funktion kann über Bootstrap implementiert werden. Die Schritte sind wie folgt: Startstrap CSS und JavaScript -Dateien einführen; Dateieingabefelder erstellen; Datei -Upload -Schaltflächen erstellen; Behandeln Sie Datei -Uploads (verwenden Sie FormData, um Daten zu sammeln und dann an den Server zu senden). benutzerdefinierter Stil (optional).

Um Bootstrap zum Layout einer Website zu verwenden, müssen Sie ein Netzsystem verwenden, um die Seite in Container, Zeilen und Spalten zu unterteilen. Fügen Sie zuerst den Container hinzu, fügen Sie dann die Zeilen hinzu, fügen Sie die Spalten in der Zeile hinzu und fügen Sie schließlich den Inhalt in der Spalte hinzu. Die Responsive -Layout -Funktion von Bootstrap passt das Layout automatisch anhand von Haltepunkten (XS, SM, MD, LG, XL) an. Unter Verwendung von Responsive -Klassen können verschiedene Layouts unter verschiedenen Bildschirmgrößen erreicht werden.

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Befolgen Sie die folgenden Schritte, um ein Bootstrap -Framework zu erstellen: Installieren Sie die Bootstrap über CDN oder installieren Sie eine lokale Kopie. Erstellen Sie ein HTML -Dokument und einen Link -Bootstrap -CSS zum & lt; Head & gt; Abschnitt. Fügen Sie die Bootstrap JavaScript -Datei zur & lt; body & gt; Abschnitt. Verwenden Sie die Bootstrap -Komponente und passen Sie das Stylesheet an Ihre Anforderungen an.
