Egal, ob Sie ein erfahrener Profi sind oder gerade erst anfangen, das Verständnis der Besonderheiten ist entscheidend, um sicherzustellen, dass sich Ihre Styles genau so verhalten, wie Sie es erwarten.
Okay, Webflow-Ninjas, es ist an der Zeit, das Biest anzugehen, das die CSS-Spezifität ist. Und um dies so umfassend wie möglich zu gestalten, werden wir auch untersuchen, wie das Client-First-System von Finsweet dazu beitragen kann, dass Ihr CSS sauber und wartbar bleibt und das alte Stylesheet klein bleibt. Wir sind heutzutage nur ein kleines „einziges“ Webflow-Studio, aber wir haben ein bisschen mit diesem Spiel angefangen, bevor wir Webflow benutzt haben, also hatten wir ein ziemlich gutes Verständnis von CSS, aber wir verstehen absolut, dass viele Webflow-Designer CSS zum ersten Mal in Webflow lernen, und daran ist nichts falsch. Sich so schnell wie möglich mit der CSS-Spezifität auseinanderzusetzen, macht die Arbeit für einen Webflow-Entwickler einfach viel einfacher. Aber genug davon, lassen Sie uns gleich loslegen.
Was ist CSS-Spezifität?
Stellen Sie sich die CSS-Spezifität als ein Punktesystem vor, bei dem verschiedene Arten von Selektoren unterschiedliche Werte zum Spezifitätswert beitragen. Je höher die Spezifität, desto mehr Priorität hat die Regel. Hier ist eine Aufschlüsselung der Spezifitätshierarchie:
- Inline-Stile: 1000 Punkte. Dies sind die spezifischsten.
- Ausweise: 100 Punkte. Sehr spezifisch.
- Klassen, Attribute und Pseudoklassen: jeweils 10 Punkte. Mäßig spezifisch.
- Elemente und Pseudoelemente: Jeweils 1 Punkt. Am wenigsten spezifisch.

CSS-Spezifität
Beispiel für eine Berechnung:
#header
= 100 Punkte (ID-Selektor)..menu .item
= 10 + 10 = 20 Punkte (zwei Klassenwähler).ul li a
= 1 + 1 + 1 = 3 Punkte (drei Element-Selektoren).
Lassen Sie uns das anhand weiterer Beispiele weiter aufschlüsseln, um zu verdeutlichen, wie Spezifität in realen Szenarien funktioniert.
Beispiel 1: Kombinieren von Selektoren
Beachten Sie diese Regeln:
#nav {Farbe: blau;} /* 100 Punkte */
.nav-item {color: green;} /* 10 Punkte */
.nav-item a {color: red;} /* 11 Punkte */
Ein Anker <!-- fs-richtext-ignore --><a>innerhalb eines Elements mit der ID #nav
und die Klasse .nav-item
wird aufgrund der Spezifität von rot sein 11 Punkte
aus dem .nav-item a
Selektor, der eine höhere Spezifität hat als .nav-item
.
Beispiel 2: Übergeordnete Spezifität
Beachten Sie diese Regeln:
#content {Hintergrundfarbe: gelb;} /* 100 Punkte */
.section {background-color: pink;} /* 10 Punkte */
p {background-color: hellblau;} /* 1 Punkt */
EIN <!-- fs-richtext-ignore --><p>Element innerhalb eines Elements mit der ID #content
und Klasse . Abschnitt
wird aufgrund der höheren Spezifität des ID-Selektors einen gelben Hintergrund haben.
Spezifität in Webflow
Webflow ist fantastisch für visuelles Webdesign, aber unter der Haube ist alles CSS. Wenn Sie die Spezifität verstehen, können Sie herausfinden, warum bestimmte Stile nicht zutreffen.
Beispiel in Webflow
Stellen Sie sich vor, Sie haben diese CSS-Regeln:
#hero {Farbe: rot;}
.header {Farbe: blau;}
p {Farbe: grün;}
Ein Absatz innerhalb eines Elements mit der ID #hero
und Klasse . Kopfzeile
wird aufgrund der höheren Spezifität des ID-Selektors rot sein.
Um dies zu erweitern, schauen wir uns ein komplexeres Beispiel an:
#main -content .article h2 {font-size: 2em;} /* 111 Punkte */
.article h2 {font-size: 1.5em;} /* 21 Punkte */
h2 {Schriftgröße: 1em;} /* 1 Punkt */
Hier, ein h2
innerhalb eines Elements mit der ID #main -Inhalt
und Klasse .artikel
wird eine Schriftgröße von haben 2em
.
Webflow-Designer
Nun, das scheint super einfach zu sein, natürlich ist es in Webflow ein bisschen anders, es ist eine visuelle Entwicklungsplattform, also was ist was und wo sehe ich sie und was gilt wofür?
All diese Fragen sind absolut gültig, da Sie nur das Element im Designer wie in der Abbildung unten betrachten, außer dem Klassennamen nicht viel aussagen.

Überschriftenelement in Webflow
Also, was sagt dir der Designer? Zunächst einmal können wir die Struktur leicht erkennen, was uns sofort hilft.

Struktur, die ein Element in Webflow umschließt
Noch wichtiger ist jedoch, dass wir genau sehen können, wovon das Element erbt, wenn wir rechts neben dem Designer direkt über dem Klassennamen klicken.

Webblow erbt Selektoren
Das kundenorientierte System von Finstweet
Das Client-First-System von Finsweet ist ein entscheidender Faktor, wenn es darum geht, Ihre Webflow-Projekte organisiert und skalierbar zu halten. Es betont einen strukturierten CSS-Ansatz, der es einfach zu verstehen und zu verwalten macht.
Kernprinzipien von Client-First
- Weltweite Klassen: Definieren Sie allgemeine Stile, die in Ihrem gesamten Projekt wiederverwendet werden können.
- Komponentenklassen: Spezifisch für einzelne Komponenten, wodurch Stile modular sind.
- Nutzungsklassen: Einzweckklassen für kleinere Anpassungen.
Beispiel:
.global-text-color {Farbe: #333;}
.component-card {Polsterung: 20px;}
.utility-margin-bottom {margin-bottom: 10 px;}
Erweiterung des Client-First-Systems von Finstweet:
Arten von Klassen in Client-First
- Nutzungsklassen: Wird global für bestimmte CSS-Eigenschaften angewendet.
- Beispiel:
.background-color-primary {Hintergrundfarbe: #ff0000;}
- Beispiel:
- Benutzerdefinierte Klassen: Spezifisch für Komponenten oder Elemente, oft mit Unterstrichen.
- Beispiel:
header_hintergrundebene
- Beispiel:
- Weltweite Klassen: Wird im gesamten Projekt verwendet, um Einheitlichkeit zu gewährleisten.
- Beispiel:
.margin-large {Rand: 3rem;}
- Beispiel:
Verwenden von Combo-Klassen
Kombinationsklassen in Client-First verwenden eine Basisklasse und fügen Variationen hinzu mit ist-
Präfix.
- Beispiel:
Schaltfläche ist-primär {background-color: #007bff;}
Vermeiden Sie tiefes Stapeln
Deep Stacking bezieht sich auf das Stapeln vieler Klassen auf einem Element, wovon Client-First abrät. Verwenden Sie stattdessen organisierte, klare Klassennamen, um die Lesbarkeit und Verwaltbarkeit zu gewährleisten.
- Beispiel für Deep Stacking:
class="text-bold text-large text-center“
- Besserer Ansatz: Verwenden Sie eine einzelne, benutzerdefinierte Klasse wie
.header-Text
Praktische Tipps zum Umgang mit Spezifität
- Vermeiden Sie Inline-Styles: Sie haben die höchste Spezifität und können alles andere außer Kraft setzen.
- Verwenden Sie ID-Selektoren sparsam: Diese können Ihr CSS komplizieren, wenn sie übermäßig verwendet werden.
- Ordnen Sie Stile hierarchisch an: Nutze Systeme wie Client-First, um dein CSS modular und wartbar zu halten.
- Nutzen Sie den Designer von Webflow: Visuelle Tools können dir helfen, deine Styles effektiv zu visualisieren und zu verwalten, aber es kann schwierig sein, sie neu anzuordnen, wenn du einmal angefangen hast. Klone immer den Finstweet Client-First Clonable oder andere wie Relume, wenn du diesen Weg gehen möchtest.
- Verwenden Sie die Finsweet Chrome-Erweiterung, um neu zu bestellen: Denken Sie daran, dass dies eine fortgeschrittene Version ist und Sie mit Ihrem Verständnis der CSS-Spezifität vertraut sein sollten, aber die Finsweet-Erweiterung ermöglicht es Ihnen, die Klassen in Webflow neu anzuordnen.