Es gibt eine Reihe anerkannter Methoden zum Formatieren Ihres CSS. Letztendlich liegt es an Ihnen, was Sie am wohlsten schreiben, aber diese helfen Ihnen bei der Verwaltung Ihres CSS für größere, kompliziertere Projekte. Nicht, dass es wichtig wäre, aber ich tendiere dazu, eine Kombination aus BEM und SMACSS zu verwenden.
BEM ist eine äußerst nützliche, leistungsstarke und einfache Namenskonvention, mit der Sie Ihren Front-End-Code leichter lesen und verstehen, leichter bearbeiten, skalieren, robuster und expliziter und viel strenger gestalten können.
Block
Eigenständige Entität, die für sich genommen von Bedeutung ist, wie z.
header, container, menu, checkbox, input
Element
Teile eines Blocks und haben keine eigenständige Bedeutung. Sie sind semantisch an seinen Block gebunden:
menu item, list item, checkbox caption, header title
Modifikator
Flags auf Blöcken oder Elementen. Verwenden Sie sie, um das Aussehen oder Verhalten zu ändern:
disabled, highlighted, checked, fixed, size big, color yellow
Der Zweck von OOCSS besteht darin, die Wiederverwendung von Code und letztendlich schnellere und effizientere Stylesheets zu fördern, die einfacher zu ergänzen und zu warten sind.
OOCSS basiert auf zwei Hauptprinzipien:
- Trennung der Struktur von der Haut
Dies bedeutet, sich wiederholende visuelle Merkmale (wie Hintergrund- und Rahmenstile) als separate „Skins“ zu definieren, die Sie mit Ihren verschiedenen Objekten kombinieren können, um eine große visuelle Vielfalt ohne viel Code zu erzielen. Siehe das Modulobjekt und seine Skins.
- Trennung von Behältern und Inhalten
Im Wesentlichen bedeutet dies, dass „ortsabhängige Stile selten verwendet werden“. Ein Objekt sollte gleich aussehen, egal wo Sie es platzieren. Anstatt ein bestimmtes mit .myObject h2 {...} zu formatieren, erstellen Sie eine Klasse, die das betreffende beschreibt, wie z. Dies gibt Ihnen die Gewissheit, dass: (1) alle nicht klassifizierten s gleich aussehen werden; (2) Alle Elemente mit der Kategorieklasse (Mixin genannt) sehen gleich aus. und 3) Sie müssen keinen Überschreibungsstil für den Fall erstellen, dass .myObject h2 tatsächlich wie normal aussehen soll.
SMACSS ist eine Möglichkeit, Ihren Entwurfsprozess zu untersuchen und diese starren Frameworks in einen flexiblen Denkprozess einzubauen. Es ist ein Versuch, einen konsistenten Ansatz für die Site-Entwicklung bei Verwendung von CSS zu dokumentieren.
Im Zentrum von SMACSS steht die Kategorisierung. Durch die Kategorisierung von CSS-Regeln erkennen wir Muster und können für jedes dieser Muster bessere Vorgehensweisen definieren.
Es gibt fünf Arten von Kategorien:
Basis
Enthält Reset- und Standardelementstile. Es kann auch Basisstile für Steuerelemente wie Schaltflächen, Raster usw. enthalten, die unter bestimmten Umständen später im Dokument überschrieben werden können.
Layout
Enthält alle Navigationsfunktionen, Breadcrumbs, Sitemaps usw. usw.
Module
Enthalten bereichsspezifische Stile wie Kontaktformularstile, Homepage-Kacheln, Produktliste usw. usw. usw.
Zustand
Enthält Zustandsklassen wie isSelected, isActive, hasError, wasSuccessful etc etc.
Thema
Enthält alle Stile, die sich auf das Thema beziehen.
Es gibt zu viele, um sie hier zu beschreiben, aber sehen Sie sich auch diese anderen an: