Heim Web-Frontend CSS-Tutorial 12 Tipps zur CSS-Codeoptimierung_Erfahrungsaustausch

12 Tipps zur CSS-Codeoptimierung_Erfahrungsaustausch

May 16, 2016 pm 12:03 PM
css

1.ID-Regeln
2.Klassenregeln
3. Tag-Regeln
4. Das allgemeine Verständnis von Effizienz stammt aus „High-Performance Website Construction“, veröffentlicht von Steve Souders 2009 Beginnend mit „Advanced Guide“, obwohl das Buch ausführlicher auflistet, können Sie die vollständige Referenzliste auch hier einsehen, oder Sie können weitere Details in Googles „Best Practices for Efficient CSS Selectors“ einsehen.
In diesem Artikel möchte ich einige einfache Beispiele und Richtlinien vorstellen, die ich beim Schreiben von Hochleistungs-CSS verwende. Diese basieren auf dem von MDN verfassten Leitfaden für effizientes CSS und folgen einem ähnlichen Format.

1. Vermeiden Sie übermäßige Zurückhaltung

Als allgemeine Regel gilt: Fügen Sie keine unnötigen Einschränkungen hinzu.


Code kopieren Der Code lautet wie folgt:
// Ups
ul#someid {... >

2. Der Nachkommenselektor ist der schlechteste


Der HTML-Code und der CSS-Code sind nicht nur stark gekoppelt Wenn sich die Struktur des HTML-Codes ändert, muss auch das CSS geändert werden. Besonders in großen Unternehmen sind die Leute, die HTML und CSS schreiben, oft nicht die gleichen.

Code kopieren
Der Code lautet wie folgt:

// Es ist scheißehtml div tr td {..} 3. Vermeiden Sie Kettenselektoren (Kreuzungsselektoren)

Dies ähnelt der Situation der Überbeschränkung. Ein sinnvollerer Ansatz besteht darin, einfach einen neuen CSS-Klassenselektor zu erstellen.

Code kopieren
Der Code lautet wie folgt:

// Ups.menu. left.icon {..}// Okay.menu-left-icon {..}

4. Halten Sie sich an das KISS-Prinzip


Stellen Sie sich vor, wir haben das folgende DOM:

Code kopieren
Der Code lautet wie folgt:

Im Folgenden sind die entsprechenden Regeln aufgeführt...




Kopieren Sie den Code
Der Code lautet wie folgt:


// Ups#navigator li a {..}// Okay#navigator {..}

5. Verwenden Sie zusammengesetzte (kompakte) Syntax


Verwenden Sie wann immer möglich zusammengesetzte Syntax.

Code kopieren
Der Code lautet wie folgt:

// Ups.someclass { Polsterung oben: 20px; Polsterung unten: 20px; Polsterung links: 10px; Polsterung rechts: 10px; Hintergrund: #000;
Hintergrundbild : url( ../imgs/carrot.png);
Hintergrundposition: unten;
Hintergrundwiederholung: Wiederholung-x;
}

// Okay
. someclass {
padding: 20px 10px 20px 10px;
Hintergrund: #000 url(../imgs/carrot.png) Repeat-x unten;
}




6. Vermeiden Sie unnötige Namespaces




Kopieren Sie den Code

Der Code lautet wie folgt:

// Ups.someclass table tr.otherclass td.somerule {..}//Okay.someclass .otherclass td.somerule {.. }

7. Vermeiden Sie unnötige Wiederholungen


Kombinieren Sie wiederholte Regeln so weit wie möglich.

Code kopieren
Der Code lautet wie folgt:


// Ups

.someclass {
Farbe: rot;
Hintergrund: blau;
Schriftgröße: 15px;
}

.otherclass {
Farbe: rot;
Hintergrund: blau;
Schriftgröße: 15px;
}

// Okay

.someclass, . otherclass {
Farbe: rot;
Hintergrund: blau;
Schriftgröße: 15px;
}

8. Optimieren Sie die Regeln so weit wie möglich
Basierend auf den oben genannten Regeln können Sie wiederholte Regeln in verschiedenen Kategorien weiter zusammenführen.
Code kopieren Der Code lautet wie folgt:

// Ups
.someclass {
Farbe: Rot;
Hintergrund: Blau;
Höhe: 150px;
Breite: 150px;
Schriftgröße: 16px;
}

.otherclass {
Farbe: rot;
Hintergrund: blau;
Höhe: 150px;
Breite: 150px;
Schriftgröße: 8px;
}

// Okay
.someclass, .otherclass {
Farbe: Rot;
Hintergrund: Blau;
Höhe: 150px;
Breite: 150px;
}

.someclass {
Schriftgröße: 16px;
}

.otherclass {
Schriftgröße: 8px;
}

9 Mehrdeutigkeit Die Namenskonvention von
verwendet am besten semantische Namen. Ein guter CSS-Klassenname sollte beschreiben, was er ist, und nicht, wie er aussieht.
10. Vermeiden Sie !importants
Tatsächlich sollten Sie auch andere hochwertige Selektoren verwenden können.

11. Befolgen Sie eine Standard-Deklarationsreihenfolge

Obwohl es einige gängige Methoden zum Anordnen der CSS-Eigenschaftsreihenfolge gibt, ist unten eine beliebte Methode aufgeführt, der ich folge.

Code kopieren Der Code lautet wie folgt:

.someclass {
/* Positionierung */
/* Display & Box-Modell */
/* Hintergrund- und Typografiestile */
/* Übergänge */
/* Andere */
}

12. Gut organisiertes Codeformat
Die Lesbarkeit des Codes ist direkt proportional zur Einfachheit der Wartbarkeit. Unten ist die Formatierungsmethode aufgeführt, der ich folge.
Code kopieren Der Code lautet wie folgt:

// Ups
.someclass- a, .someclass-b, .someclass-c, .someclass-d {
...
}

// Okay
.someclass-a,
.someclass- b,
.someclass-c,
.someclass-d {
...
}

// Gute Praxis
.someclass {
Hintergrundbild :
Linear-Gradient (#000, #ccc),
Linear-Gradient (#CCC, #DDD);
Box-Shadow:
2px 2px 2px #000,
1px 4px 1px 1px 1px #ddd eingefügt;
}

Natürlich sind dies nur ein paar Regeln, die ich in meinem eigenen CSS zu befolgen versuche, um effizienter und wartbarer zu sein. Wenn Sie mehr lesen möchten, empfehle ich die Lektüre von MDNs Guide to Writing Efficient CSS und Googles Guide to Optimizing Browser Rendering.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Zwei -Punkte -Museum: Alle Exponate und wo man sie finden kann
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So zeigen Sie versteckte Linien in XML an So zeigen Sie versteckte Linien in XML an Apr 02, 2025 pm 11:45 PM

Es gibt zwei allgemeine Möglichkeiten, Zeilen in XML auszublenden: Verwenden Sie die Anzeigeeigenschaft in CSS, um auf None festzulegen

So zeigen Sie den Inhalt der Schnittstelle mit XML an So zeigen Sie den Inhalt der Schnittstelle mit XML an Apr 02, 2025 pm 11:48 PM

XML wird häufig zum Erstellen und Verwalten von Benutzeroberflächen verwendet. Es definiert und zeigt den Schnittstelleninhalt in folgenden Schritten: Definieren Sie Schnittstellenelemente: XML verwendet Tags, um Schnittstellenelemente und deren Eigenschaften zu definieren. Erstellen einer Hierarchie: XML organisiert Grenzflächenelemente nach hierarchischen Beziehungen, um eine Baumstruktur zu bilden. Verwenden von Stylesheets: Entwickler verwenden Stylesheet -Sprachen wie CSS oder XSL, um das visuelle Erscheinungsbild und das Verhalten von Elementen anzugeben. Rendering -Prozess: Ein Browser oder eine Anwendung verwendet einen XML -Parser und Stylesheet, um eine XML -Datei zu analysieren und Schnittstellenelemente zu rendern, um sie auf dem Bildschirm sichtbar zu machen.

Wie spiele ich Bildsequenzen reibungslos mit CSS -Animation? Wie spiele ich Bildsequenzen reibungslos mit CSS -Animation? Apr 04, 2025 pm 05:57 PM

Wie kann man die Wiedergabe von Bildern wie Videos erreichen? Oft müssen wir ähnliche Video -Player -Funktionen implementieren, aber der Wiedergabinhalt ist eine Folge von Bildern. direkt...

Wie verwendet ich Vue 3, um die Ladefunktion der Bildlaufladen ähnlich wie bei WeChat -Chat -Datensätzen zu implementieren? Wie verwendet ich Vue 3, um die Ladefunktion der Bildlaufladen ähnlich wie bei WeChat -Chat -Datensätzen zu implementieren? Apr 04, 2025 pm 03:51 PM

Wie kann man nach oben scrollen laden, ähnlich wie bei WeChat -Chat -Datensätzen? Bei der Entwicklung von Anwendungen ähnlich wie bei WeChat -Chat -Aufzeichnungen ist eine gemeinsame Frage, wie ...

Wie kann ich CSS verwenden, um einen reibungslosen Wiedergabetasteffekt von Bildsequenzen zu erzielen? Wie kann ich CSS verwenden, um einen reibungslosen Wiedergabetasteffekt von Bildsequenzen zu erzielen? Apr 04, 2025 pm 04:57 PM

Wie kann man die Funktion des Spielens von Bildern wie Videos erkennen? Oft müssen wir in der Anwendung ähnliche Video -Wiedergabeffekte erzielen, aber der Wiedergabeinhalt ist nicht ...

Wie implementieren Sie eine enge Übergangsanimation in React mithilfe der React-Transition-Gruppe? Wie implementieren Sie eine enge Übergangsanimation in React mithilfe der React-Transition-Gruppe? Apr 04, 2025 pm 11:27 PM

Verwendung von React-Transition-Gruppen in React, um Verwirrung über eng nach Übergangsanimationen zu erreichen. In React-Projekten werden viele Entwickler sich für die React-Übergangsgruppenbibliothek für ...

Die Breite der EMSP -Räume in HTML ist inkonsistent. Wie kann ich eine zuverlässige Texteinrückung implementieren? Die Breite der EMSP -Räume in HTML ist inkonsistent. Wie kann ich eine zuverlässige Texteinrückung implementieren? Apr 04, 2025 pm 11:57 PM

In Bezug auf das Problem der inkonsistenten Breite von EMSP -Räumen in HTML- und chinesischen Charakteren in vielen Web -Tutorials wird erwähnt, dass die Breite eines chinesischen Charakters, aber die tatsächliche Situation nicht ...

【Rost-Selbststudie】 Einführung 【Rost-Selbststudie】 Einführung Apr 04, 2025 am 08:03 AM

1.0.1 Vorwort Dieses Projekt (einschließlich Code und Kommentare) wurde während meines Autodidakt-Rostes aufgezeichnet. Es kann ungenaue oder unklare Aussagen geben. Bitte entschuldigen Sie sich. Wenn Sie davon profitieren, ist es noch besser. 1.0.2 Warum ist Rustrust zuverlässig und effizient? Rost kann C und C mit ähnlicher Leistung, aber höherer Sicherheit ersetzen, und erfordert keine häufige Neukompilation, um auf Fehler wie C und C zu prüfen. Thread-Safe (stellen Sie sicher, dass Multi-Thread-Code vor der Ausführung sicher ist). Vermeiden Sie undefiniertes Verhalten (z. B. Array aus Grenzen, nicht initialisierte Variablen oder Zugriff auf den freien Speicher). Rust bietet moderne Sprachmerkmale wie Generika

See all articles