


Analyse und Zusammenfassung der Auswirkungen von CSS auf die Effizienz beim Laden von Webseiten_Erfahrungsaustausch
Wir haben mehr als ein Dutzend verwandte Wissens- und Aufmerksamkeitspunkte aufgelistet. Sie können sie systematisch besprechen, um das Öffnen der von uns verfassten Webseiten reibungsloser zu gestalten.
Bitte sagen Sie mir nicht, dass Sie E-Text nicht lesen können, es ist nur so, dass Sie ihn nicht lesen wollen! ! !
1、Wie das Stilsystem Regeln aufteilt
Das Stilsystem unterteilt Regeln in vier Hauptkategorien. Es ist von entscheidender Bedeutung, diese Kategorien zu verstehen, da sie die erste Verteidigungslinie darstellen, wenn es um den Regelabgleich geht. In den folgenden Absätzen verwende ich den Begriff „Schlüsselauswahl“. Der Schlüsselselektor ist als das ganz rechte Vorkommen eines ID-Selektors, eines Klassenselektors oder eines Tag-Selektors definiert.
1.1、ID-Regeln
Die erste Kategorie besteht aus den Regeln, die einen ID-Selektor als Schlüsselselektor haben.
button#backButton { } /* Dies ist eine ID-kategorisierte Regel */
#urlBar[type="autocomplete"] { } /* Dies ist eine ID-kategorisierte Regel */
Baumelement > Baumreihe > treecell#myCell :active { } /* Dies ist eine ID-kategorisierte Regel */
1.2、Klassenregeln
Wenn für eine Regel eine Klasse als Schlüsselselektor angegeben ist, fällt sie in diese Kategorie.
button.toolbarButton { } /* Eine klassenbasierte Regel */
.fancyText { } /* Eine klassenbasierte Regel */
menuitem > .menu-left[checked="true"] { } /* Eine klassenbasierte Regel */
1.3、Tag-Regeln
Wenn keine Klasse oder ID als Schlüsselauswahl angegeben ist, wird die nächste potenzielle Kategorie für verwendet Eine Regel ist die Tag-Kategorie. Wenn für eine Regel ein Tag als Schlüsselselektor angegeben ist, fällt die Regel in diese Kategorie.
td { } /* Eine Tag-basierte Regel */
treeitem > treerow { } /* Eine Tag-basierte Regel */
input[type="checkbox"] { } /* Eine Tag-basierte Regel */
1.4、Universal Rules
Alle anderen Regeln fallen hierauf Kategorie.
:table { } /* Eine universelle Regel */
[hidden="true"] { } /* Eine universelle Regel */
* { } /* Eine universelle Regel */
Baum > [collapsed="true"] { } /* Eine universelle Regel */
2、Wie das Stilsystem mit Regeln übereinstimmt
Das Stilsystem stimmt mit einer Regel überein, indem es mit dem Selektor ganz rechts beginnt und sich dann nach links durch die Selektoren der Regel bewegt. Solange Ihr kleiner Teilbaum weiterhin ausgecheckt wird, bewegt sich das Stilsystem weiter nach links, bis es entweder der Regel entspricht oder wegen einer Nichtübereinstimmung aussteigt.
Ihre erste Verteidigungslinie ist die Regelfilterung, die auf der Grundlage der Art des Schlüsselselektors erfolgt. Der Zweck dieser Kategorisierung besteht darin, Regeln herauszufiltern, sodass Sie nicht einmal Zeit damit verschwenden müssen, sie zuzuordnen. Dies ist der Schlüssel zu einer drastischen Leistungssteigerung. Je weniger Regeln Sie für ein bestimmtes Element überprüfen müssen, desto schneller wird die Stilauflösung erfolgen. Wenn Ihr Element beispielsweise eine ID hat, werden nur ID-Regeln überprüft, die mit der ID Ihres Elements übereinstimmen. Es werden nur Klassenregeln für eine in Ihrem Element gefundene Klasse überprüft. Es werden nur Tag-Regeln überprüft, die mit Ihrem Tag übereinstimmen. Universelle Regeln werden immer überprüft.
3、Richtlinien für effizientes CSS
3.1、Vermeiden Sie universelle Regeln!
Stellen Sie sicher, dass eine Regel nicht in der Kategorie „Allgemein“ landet!
3.2、Qualifizieren Sie ID-kategorisierte Regeln nicht mit Tag-Namen oder Klassen.
Wenn Sie eine Stilregel haben, die einen ID-Selektor als Schlüsselselektor hat, machen Sie sich nicht die Mühe, auch den Tag-Namen hinzuzufügen die Regel. Da IDs eindeutig sind, verlangsamen Sie den Abgleich ohne wirklichen Grund.
BAD - button#backButton { }
SCHLECHT - .menu-left#newMenuIcon { }
GUT - #backButton { }
GUT - #newMenuIcon { }
3.3、Nicht klassenkategorisiert qualifizieren Regeln mit Tag-Namen
Ähnlich zur Regel oben werden alle unsere Klassen eindeutig sein. Die Konvention, die Sie verwenden sollten, besteht darin, den Tag-Namen in den Klassennamen aufzunehmen.
BAD - treecell.indented { }
GUT - .treecell-indented { }
3.4、Versuchen Sie, Regeln in eine möglichst spezifische Kategorie einzuordnen!
Die größte Ursache für die Verlangsamung unseres Systems ist, dass wir zu viele Regeln in der Tag-Kategorie haben. Durch das Hinzufügen von Klassen zu unseren Elementen können wir diese Regeln weiter in Klassenkategorien unterteilen und verschwenden dann keine Zeit mehr damit, möglichst viele Regeln für ein bestimmtes Tag zuzuordnen.
SCHLECHT - treeitem[mailfolder="true"] > Baumreihe > treecell { }
GUT - .treecell-mailfolder { }
3.5、Vermeiden Sie den Nachkommen-Selektor!
Der Descendent-Selektor ist der teuerste Selektor in CSS. Es ist furchtbar teuer, insbesondere wenn eine Regel, die den Selektor verwendet, in der Kategorie „Tag“ oder „Universal“ liegt. Oftmals ist die Kinderauswahl wirklich erwünscht. Die Verwendung des Descendent-Selektors ist im UI-CSS ohne die ausdrückliche Genehmigung des Modulbesitzers Ihres Skins verboten.
SCHLECHT - treehead treerow treecell { }
BESSER, ABER immer noch schlecht (siehe nächste Richtlinie) - treehead > Baumreihe > treecell { }
3.6、Tag-kategorisierte Regeln sollten niemals einen untergeordneten Selektor enthalten!
Vermeiden Sie die Verwendung der Kinderauswahl mit nach Tags kategorisierten Regeln. Sie werden die Übereinstimmungszeit für alle Vorkommen dieses Elements erheblich verlängern (vor allem, wenn die Regel wahrscheinlich häufiger erfüllt wird).
SCHLECHT - treehead > Baumreihe > treecell { }
BEST - .treecell-header { }
3.7、Stellen Sie alle Verwendungen des untergeordneten Selektors in Frage!
Seien Sie bei der Verwendung der Kinderauswahl vorsichtig. Wenn Sie eine Möglichkeit finden, die Verwendung zu vermeiden, tun Sie dies. Insbesondere wird der untergeordnete Selektor häufig mit RDF-Bäumen und ähnlichen Menüs verwendet.
SCHLECHT - treeitem[IsImapServer="true"] > Baumreihe > .tree-folderpane-icon { }
Denken Sie daran, dass Attribute aus RDF in einer Vorlage dupliziert werden können! Nutzen Sie diese Tatsache, um RDF-Eigenschaften auf untergeordneten XUL-Elementen zu duplizieren, die sich basierend auf diesem Attribut ändern möchten.
GUT - .tree-folderpane-icon[IsImapServer="true"] { }
3.8、Verlassen Sie sich auf die Vererbung!
Erfahren Sie, welche Eigenschaften erben, und ermöglichen Sie ihnen, dies zu tun! Wir haben XUL-Widgetry ausdrücklich so eingerichtet, dass Sie ein Bild im Listenstil (nur ein Beispiel) oder Schriftartregeln in das übergeordnete Tag einfügen können, und es wird nach dem anonymen Inhalt gefiltert. Sie müssen keine Zeit damit verschwenden, eine Regel zu schreiben, die sich direkt auf den anonymen Inhalt bezieht.
SCHLECHT - #bookmarkMenuItem > .menu-left { list-style-image: url(blah); }
GUT - #bookmarkMenuItem { list-style-image: url(blah); }
Im obigen Beispiel führte der Wunsch, den anonymen Inhalt zu formatieren (ohne zu verstehen, dass list-style-image erbt), zu einer Regel, die in der Klassenkategorie lag, obwohl diese Regel eigentlich am spezifischsten hätte sein sollen Kategorie von allen, die ID-Kategorie.
Denken Sie insbesondere bei anonymen Inhalten daran, dass sie alle dieselben Klassen haben! Die obige schlechte Regel führt dazu, dass das Symbol jedes Menüs überprüft wird, um festzustellen, ob es im Menüelement „Lesezeichen“ enthalten ist. Das ist furchtbar teuer (da es viele Menüs gibt); Diese Regel hätte niemals von einem anderen Menü als dem Lesezeichenmenü überprüft werden dürfen.
3.9、Verwenden Sie -moz-image-region!
Das Einfügen einer Reihe von Bildern in eine einzelne Bilddatei und deren Auswahl mit -moz-image-region führt zu einer deutlich besseren Leistung als das Einfügen jedes Bilds in eine eigene Datei.
Informationen zum Originaldokument - Autor: David Hyatt

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



HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

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

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

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.

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

ANTWORT: Sie können die Datumsauswahlkomponente von Bootstrap verwenden, um Daten auf der Seite anzuzeigen. Schritte: Stellen Sie das Bootstrap -Framework ein. Erstellen Sie ein Eingangsfeld für Datumsauswahl in HTML. Bootstrap fügt dem Selektor automatisch Stile hinzu. Verwenden Sie JavaScript, um das ausgewählte Datum zu erhalten.
