CSS Style Guides

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Während wir unsere jüngste Umfrage zur Reihenfolge von CSS-Eigenschaften abschließen, wirft dies die größere Frage nach CSS-Styleguides auf. Die Reihenfolge der Eigenschaften ist nur eine von vielen Entscheidungen, die Sie treffen müssen, um eine vollständige Styling-Strategie zu entwickeln. Namensgebung ist ein Teil davon. Gliederung ist ein Teil davon. Kommentare, Einrückung, allgemeine Dateistruktur… all das gehört zu einem vollständigen CSS-Styleguide.

Lassen Sie uns einige bestehende sammeln.

Aber zuerst… keine Pattern Libraries.

Ich **liebe** Pattern Libraries. Denken Sie an Twitter Bootstrap oder GEL. Ich denke, sie sind eine fantastische Arbeitsweise, insbesondere bei großen Websites und Webanwendungen. Dieser Beitrag handelt nicht davon. Wir werden eine Sammlung davon erstellen, denn das wäre meiner Meinung nach auch wertvoll. Es geht um Styleguides *für CSS selbst*.

Die Liste

Ich werde unten einige Auszüge aus jedem von ihnen auflisten, die mir gefallen.

GitHub

GitHub CSS Style Guide →

Als Faustregel gilt: Verschachteln Sie nicht mehr als 3 Ebenen tief. Wenn Sie feststellen, dass Sie weiter gehen, überlegen Sie, Ihre Regeln neu zu organisieren (entweder die benötigte Spezifität oder das Layout der Verschachtelung).

Einheitenlose Zeilenhöhen werden bevorzugt, da sie keinen prozentualen Wert ihres übergeordneten Elements erben, sondern stattdessen auf einem Vielfachen der Schriftgröße basieren.

Google

Google HTML/CSS Style Guide →

Verwenden Sie ID- und Klassennamen, die so kurz wie möglich, aber so lang wie nötig sind.

Z.B. #nav statt #navigation, .author statt .atr

Verketten Sie Wörter und Abkürzungen in Selektoren nicht mit anderen Zeichen als Bindestrichen, um das Verständnis und die Lesbarkeit zu verbessern.

Z.B. .demo-image statt .demoimage oder .demo_image

Idiomatisches CSS

Idiomatisches CSS von Nicolas Gallagher →

Konfigurieren Sie Ihren Editor so, dass „Unsichtbare Zeichen anzeigen“ aktiviert ist. Dies ermöglicht es Ihnen, Leerzeichen am Ende der Zeile zu eliminieren, unbeabsichtigte Leerzeilen zu entfernen und Commits zu vermeiden, die unerwünschte Zeichen enthalten.

Lange, kommaseparierte Eigenschaftswerte – wie Sammlungen von Verläufen oder Schatten – können über mehrere Zeilen angeordnet werden, um die Lesbarkeit zu verbessern und nützlichere Diff-Dateien zu erstellen.

Verwenden Sie separate Dateien (die durch einen Build-Schritt verkettet werden), um Code für verschiedene Komponenten aufzuteilen.

CSS Wizardry

CSS Style von Harry Roberts →

Ich habe ein pauschales Verbot für IDs in CSS. Sie haben buchstäblich keinen Zweck und verursachen nur Schaden.

Diese Abschnittsüberschrift wird auch mit einem $ vorangestellt. Das dient dazu, dass ich bei einer Suche nach einem Abschnitt tatsächlich nach $MAIN und nicht nach MAIN suche.

In Situationen, in denen es für einen Entwickler nützlich wäre, genau zu wissen, wie ein CSS-Code-Schnipsel auf ein HTML-Element angewendet wird, füge ich oft einen HTML-Schnipsel in einen CSS-Kommentar ein.

Smashing Magazine

Vitaly Friedmans „Improving Code Readability With CSS Styleguides“ →

Für große Projekte oder große Entwicklungsteams ist es auch nützlich, ein kurzes Update-Protokoll zu haben.

Für einen besseren Überblick über Ihren Code können Sie einzeilige Anweisungen für kurze Codefragmente verwenden.

ThinkUp

ThinkUp CSS Style Guide →

Wenn der Wert von Breite oder Höhe 0 ist, geben Sie keine Einheiten an.

Kommentare, die sich auf Selektorblöcke beziehen, sollten auf einer separaten Zeile unmittelbar vor dem Block stehen, auf den sie sich beziehen.

WordPress

WordPress CSS Coding Standards →

Fügen Sie zwei Leerzeilen zwischen den Abschnitten und eine Leerzeile zwischen den Blöcken in einem Abschnitt ein.

Breite Selektoren ermöglichen uns Effizienz, können aber negative Folgen haben, wenn sie nicht getestet werden. Ortspezifische Selektoren können uns Zeit sparen, führen aber schnell zu einer unübersichtlichen Stylesheet. Üben Sie Ihr bestes Urteilsvermögen.

Magische Zahlen sind unglücklich. Dies sind Zahlen, die als schnelle Lösungen für einmalige Zwecke verwendet werden. Beispiel: .box { margin-top: 37px }.

SMACSS

Skalierbare und modulare Architektur für CSS von Jonathan Snook →

Diese Sache ist ein Biest und es wäre schwer, nur ein paar Zitate herauszugreifen. Aber…

Jeden neuen Stil, den Sie erstellen, am Ende einer einzigen Datei hinzuzufügen, würde das Finden von Dingen erschweren und wäre sehr verwirrend für alle anderen, die am Projekt arbeiten.

Wenn richtig gemacht, können Module leicht in verschiedene Teile des Layouts verschoben werden, ohne kaputt zu gehen.

Fügen Sie nur einen Selektor ein, der Semantik enthält. Ein Span oder Div enthält keine. Eine Überschrift schon. Eine Klasse, die auf einem Element definiert ist, hat reichlich.

Mehr?

Unterhält Ihre Organisation ein öffentliches Styleguide und nutzt es? Posten Sie es!