Heim Web-Frontend CSS-Tutorial Anwendung der CSS-Regelkaskade Mehrere Punkte, die beim CSS_Experience-Austausch beachtet werden müssen

Anwendung der CSS-Regelkaskade Mehrere Punkte, die beim CSS_Experience-Austausch beachtet werden müssen

May 16, 2016 pm 12:06 PM

Theoretische Grundlagen sind notwendig, und Übung ist der Weg, die Theorie zu verbessern und zu verstehen. Beides ist gleichermaßen wichtig. Jeder Designer und Entwickler, der das Gleichgewicht verlässt, egal welche Seite er bevorzugt, wird entweder links oder rechts Fehler machen . Aber was ist der praktische Nutzen dieser Methode, über die ich spreche? Offensichtlich kann es weder ein abgerundetes Rechteck für uns erstellen noch ein Spaltenlayout für uns erstellen, noch kann es uns eine Navigationsleiste geben, die am Kopf des Dokuments fixiert ist. Die praktische Anwendung dieses Algorithmus liegt in: Guten CSS-Programmierpraktiken. Dies ist eine Makropraxis, die genauso wichtig ist wie die Mikroübungen, die ich gerade erwähnt habe, aber viel schwieriger zu meistern ist.

Dieser Artikel soll nicht alle guten CSS-Programmierspezifikationen enthalten, und es ist auch nicht möglich, eine Zusammenfassung meiner persönlichen Spezifikationen zum Schreiben von CSS bereitzustellen Funktionsweise von CSS.

Verwenden Sie kein Inline-CSS
Der Benutzerstil unterliegt nicht Ihrer Kontrolle
Verwenden Sie keine wichtigen Regeln
Schreiben Sie CSS je nach Spezifität von niedrig nach hoch
Die ersten drei Punkte stehen nicht im Mittelpunkt dessen, worüber ich spreche, ich werde darüber hinweggehen.

Die Besonderheit von Inline-CSS ist am größten. Wenn die Attribute in Ihrer CSS-Datei mit Inline-CSS in Konflikt stehen, sind die Attribute in Ihrer CSS-Datei ungültig. Dies unterscheidet sich von unserer Gewohnheit, Stile nur in CSS zu debuggen Dateien. Stimmt nicht überein. Inline-CSS ist auch hässlich, es fügt Stile in das HTML-Dokument ein, daher sollte es aufgegeben werden.

Wenn der Benutzer den Benutzerstil auf „wichtig“ setzt, kann die wichtige Anweisung des Benutzers nicht überschrieben werden, unabhängig davon, wie Sie CSS-Regeln schreiben, sodass der Versuch, alle Benutzerstile zu überschreiben, sinnlos ist. Glücklicherweise müssen wir darüber nicht mehr nachdenken.

Die wichtige Regel entspricht nicht unserer üblichen Denkweise. Unabhängig davon, wie wir die Spezifität und Reihenfolge der CSS-Regeln erhöhen, überschreibt die wichtige Regel die mit ihr konkurrierenden Regeln wird auch stören Die üblichen Regeln der CSS-Regeln führen zu Problemen beim Debuggen. Wenn Sie die wichtige Regel zum Hacken des Browsers verwenden möchten, sollten Sie die Regel in einem Selektor anwenden, der auf ein eindeutiges Element verweist. (PS. Hack sollte als letztes in der Lösung berücksichtigt werden, da er zu hässlich ist.)

Letzter Punkt: Wie schreibt man CSS je nach Spezifität von niedrig nach hoch?

Der Schlüssel ist modulares CSS.

Globales CSS hinzufügen
Einheitliches CSS für die aktuelle Seite hinzufügen
Seite in mehrere Module aufteilen
ID-Hooks für jedes unterschiedliche Modul und Klassen-Hooks für dasselbe Modul verwenden
Jedes hinzufügen Modul Einheitliches CSS für jedes Modul
Teilen Sie jedes Modul in mehrere Untermodule auf und kehren Sie zu Schritt 4 zurück, um mit der Schleife zu beginnen, bis das Hinzufügen des Stils abgeschlossen ist.
Gutes CSS zu schreiben ist ein Designproblem, kein Implementierungsproblem. Wir sollten zunächst globale CSS-Inhalte mit sehr geringer Spezifität schreiben, bei denen es sich um unser häufig verwendetes reset.css handelt. Es ist der Standardstil für alle Seiten unserer Website.

Wenn eine Seite einen einzigartigen einheitlichen Stil hat, beispielsweise eine Seite mit einem anderen Hintergrund als andere Seiten, können wir einer Seite eine ID hinzufügen und dann das einheitliche CSS der aktuellen Seite unter die ID schreiben.

body#special{ 
    background-color:black; 
}
Nach dem Login kopieren

Nachdem der einheitliche Stil geschrieben wurde, teilen wir die Seite in mehrere Module auf. Wenn diese Module grundsätzlich den gleichen Stil haben, verwenden wir Klassen-Hooks Gleiches gilt, dann verwenden Sie den ID-Hook. Dieses Prinzip sollte in Zukunft bei der Aufteilung in Module jedes Mal befolgt werden, da die Spezifität der Klasse nicht hoch ist. Wenn es sich also nicht um ein Modul handelt, das offensichtlich ähnlich aussieht, sollte die Klasse nicht verwendet werden. Der Name der ID kann normalerweise als Name des Moduls verwendet werden. Wie Kopf, Po usw. Der ID-Selektor spielt eine Schlüsselrolle bei der Kaskadierung, da die ID exklusiv ist und eine hohe Spezifität aufweist, wodurch verhindert werden kann, dass CSS-Regeln versehentlich überschrieben werden.

In einem bestimmten Modul haben wir möglicherweise ein einheitliches CSS. Dann müssen wir den ID-Selektor verwenden, um den einheitlichen Stil unter dem aktuellen Modul zu schreiben.

#head p{ 
    color:red; 
}
Nach dem Login kopieren

Beim Hinzufügen eines Klassen-Hooks empfehle ich, die ID des übergeordneten Moduls (oder der Seite selbst) als ersten Teil des Klassennamens zu verwenden. Wenn ich eine unabhängige Seite hinzufüge (body#special), dann sollte ich nach der Aufteilung des Moduls in ein Modul für die Seite das Modul der Seite „special_head“, „special_bottom“ usw. nennen.

Oder wenn Sie Klassen-Hooks in einigen Seitenmodulen verwenden, sollten Sie head_col usw. verwenden. Dies hat den Vorteil, dass wir

#head .col{ 
    /* 头部中每一列的样式 */ 
}
Nach dem Login kopieren

nicht verwenden müssen, sondern

.head_col{ 
    /* 头部中每一列的样式 */ 
}
Nach dem Login kopieren

direkt verwenden können, sodass wir es nicht tun Sie müssen sich keine Gedanken über Namenskonflikte machen.

Für Elemente mit direkt unter dem Modul hinzugefügtem ID-Selektor können wir den Selektor direkt verwenden und die ID des übergeordneten Moduls vor seinem Namen hinzufügen.

#head_navigator{ 
    /* 头部中导航栏的样式 */ 
}
Nach dem Login kopieren

要做到模块化CSS我们应当尽量防止跨模块的CSS出现,我想一条好的原则是:如果某一样式的跨模块特性不是你一目了然的,那么就不要使用跨模块的CSS。一个例外是全局CSS或者模块内的统一CSS。而对于那些并非一目了然的,并非具有统一样式的,建议在每个子模块下分别定义。这就像是编写Java程序中的面向对象的设计一样,我们要降低模块之间的互相依赖,使得相同模块的CSS规则在一起,略有不同的就完全分开,这样不但易于维护,还能够保证特殊性从低到高地编写CSS,从而防止CSS规则被意外的覆盖

以上就是CSS规则层叠的应用 css必须要注意的几点_经验交流的内容,更多相关内容请关注PHP中文网(www.php.cn)!


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)

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 können Sie sicherstellen, dass einige Vorgänge nur einmal ausgeführt werden, wenn der Useffect Hook in Reacts App.tsx verwendet wird? Wie können Sie sicherstellen, dass einige Vorgänge nur einmal ausgeführt werden, wenn der Useffect Hook in Reacts App.tsx verwendet wird? Apr 04, 2025 pm 06:33 PM

In React -Projekten stoßen wir häufig auf Probleme mit der Verwendung von Lebenszyklusfunktionen, insbesondere wenn es um die Aktualisierung von Seiten geht, wie man nur bestimmte Operationen sicherstellt ...

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 ...

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 ...

【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

Wie baue ich schnell eine Vordergrundseite in einem React Vite -Projekt mit KI -Tools? Wie baue ich schnell eine Vordergrundseite in einem React Vite -Projekt mit KI -Tools? Apr 04, 2025 pm 01:45 PM

Wie baue ich schnell eine Front-End-Seite in der Back-End-Entwicklung? Als Backend -Entwickler mit drei oder vier Jahren Erfahrung hat er das grundlegende JavaScript, CSS und HTML gemeistert ...

See all articles