ForHosting KIT · Websites auslesen & überwachen

Gültigkeitsbereich von CSS-Variablen prüfen

Eine benutzerdefinierte CSS-Eigenschaft steht auf dem Element zur Verfügung, auf dem sie deklariert wurde, und bei ununterbrochener Vererbung auch auf dessen Nachfahren.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Dieses Werkzeug vergleicht den Selektor, der eine Variable definiert, mit dem Selektor, der sie verwendet. Es validiert beide Zeichenfolgen, verarbeitet Selektorlisten und zeigt an, ob jeder Nutzungszweig strukturell von mindestens einem Definitionszweig abgedeckt wird. So erkennen Sie eine häufige Ursache fehlender Design-Tokens, bevor Sie berechnete Stile im Browser untersuchen.

Geben Sie Definitions- und Verwendungsstellen an

Tragen Sie in das Definitionsfeld den Selektor der Regel ein, welche die benutzerdefinierte Eigenschaft deklariert. In das Nutzungsfeld kommt der Selektor der Regel, die <code>var()</code> aufruft. Ein unter <code>.theme-dark .card</code> definiertes Token steht beispielsweise für <code>.theme-dark .card &gt; .title</code> zur Verfügung, weil der Titel unterhalb der Karte ausgewählt wird, die die Deklaration erhält. Eine Definition unter <code>:root</code> gilt als global, da das Wurzelelement ein Vorfahre des Dokumentinhalts ist. Beide Felder dürfen kommagetrennte Selektorlisten enthalten. Das Werkzeug bewertet jeden Nutzungszweig einzeln; das Gesamtergebnis ist nur dann wahr, wenn alle Zweige abgedeckt sind. Zu jedem abgedeckten Nutzungszweig wird außerdem der passende Definitionszweig genannt, sodass sich auch lange Listen gut prüfen lassen. Untersucht wird ausschließlich die Beziehung zwischen Selektoren. Sie müssen weder ein Stylesheet noch einen Deklarationsblock, den Eigenschaftsnamen oder dessen Wert einfügen. Mit den beiden relevanten Selektoren bleibt das Ergebnis auf den Kaskadenbereich konzentriert und wird nicht durch Quellreihenfolge oder Wertsyntax vermischt.

Verstehen Sie die strukturelle Bereichsentscheidung

Das Werkzeug bildet den Teil der Verfügbarkeit einer benutzerdefinierten Eigenschaft ab, der allein aus Selektoren bestimmt werden kann. Es prüft, ob der Definitionsselektor dasselbe Element wie der Nutzungsselektor oder einen seiner Vorfahren bezeichnen kann. Zusammengesetzte Anforderungen werden berücksichtigt: Eine Definition unter <code>.card.featured</code> deckt nicht automatisch eine Nutzung ab, die lediglich <code>.card</code> nennt. Kindkombinatoren müssen Kindkombinatoren bleiben, während eine Nachfahrenbeziehung zusätzliche Verbindungen im Nutzungsselektor überspannen darf. Selektorlisten wirken auf der Definitionsseite als Alternativen und auf der Nutzungsseite als Verpflichtungen. Dieser bewusst vorsichtige Ansatz behauptet keine Verfügbarkeit, wenn die Beziehung im Selektortext nicht erkennbar ist. Laufzeitbedingungen können die tatsächliche Kaskade weiterhin verändern. Quellreihenfolge, bedingte Regeln, Shadow-DOM-Grenzen, Inline-Stile, Ebenen, Spezifität, ausdrückliche Rücksetzungen und der wirkliche Dokumentbaum gehören nicht zur Eingabe. Verstehen Sie ein wahres Ergebnis als Bestätigung struktureller Einordnung. Wenn Sie den endgültigen Wert in einem bestimmten gerenderten Dokument belegen müssen, prüfen Sie zusätzlich die berechneten Stile im Browser.

Beheben Sie mehrdeutige Eingaben anhand von Validierungsfehlern

Jeder Selektor wird vor dem Vergleich analysiert. Leere Zweige in Selektorlisten, nicht geschlossene Klammern, unvollständige Kombinatoren, Deklarationszeichen, unvollständige Klassen-, ID- oder Pseudoselektor-Tokens und andere fehlerhafte Formen erzeugen einen Eingabefehler statt eines geratenen Ergebnisses. Diese Unterscheidung ist für Automatisierungen wichtig: Falsch bedeutet, dass die angegebenen Selektoren gültig sind, die gewünschte Nutzung aber strukturell nicht abgedeckt wird. Ein Fehler bedeutet, dass keine Bereichsaussage getroffen wurde. Geben Sie in die Felder ausschließlich Selektoren ein. Geschweifte Klammern, Semikolons, die Deklaration einer benutzerdefinierten Eigenschaft oder eine vollständige CSS-Regel gehören nicht hinein. Maskierte Zeichen, in Anführungszeichen gesetzte Attributwerte, Attributselektoren und funktionale Pseudoklassen bleiben während der Zerlegung gruppiert. Dadurch werden enthaltene Kommas und Kombinatoren nicht als Syntax der obersten Ebene behandelt. Der Algorithmus ist deterministisch, stellt keine Netzwerkanfrage und verwendet eine feste Längenbegrenzung. Sie können ihn daher in einer Lint-Prüfung, einer Änderungsprüfung oder einem Migrationsskript für Tokens einsetzen und für dasselbe Paar stets dasselbe Ergebnis erhalten. Falls komplexe relationale Selektoren nur mit einem aktiven DOM entscheidbar sind, deuten Sie ein nicht abgedecktes Ergebnis vorsichtig und prüfen Sie das Ziel-Markup.

Theme-Tokens prüfen

Bestätigen Sie, dass Komponentenselektoren mit Theme-Variablen unter dem Selektor bleiben, der das Theme aktiviert.

Komponentenumbauten kontrollieren

Erkennen Sie, wenn ein umbenannter oder verschobener Komponentenselektor das strukturelle Präfix seiner benutzerdefinierten Eigenschaften verliert.

Token-Dokumentation validieren

Prüfen Sie Selektorbeispiele in einem Designsystem, damit dokumentierte Nutzungen dem angegebenen Definitionsbereich entsprechen.

Was bedeutet ein wahres Ergebnis?

Jeder gültige Zweig des Nutzungsselektors ist strukturell gleich oder unter mindestens einem Zweig des Definitionsselektors eingeordnet.

Werden mein HTML oder berechnete Stile untersucht?

Nein. Verglichen werden nur Selektoren; Dokumentzustand, Quellreihenfolge, Ebenen, Shadow DOM und ausdrückliche Überschreibungen bleiben unberücksichtigt.

Wie werden Selektorlisten behandelt?

Definitionszweige sind Alternativen. Jeder kommagetrennte Nutzungszweig muss mindestens einem Definitionszweig entsprechen, damit das Gesamtergebnis wahr ist.

Warum erhalte ich einen Eingabefehler statt falsch?

Mindestens ein Selektor war syntaktisch fehlerhaft. Falsch ist gültigen Selektoren vorbehalten, die die erforderliche Bereichsbeziehung nicht zeigen.

Deckt eine Definition unter :root alle Nutzungen ab?

Ja. Das Werkzeug behandelt :root, html und den Universalselektor als globale Definitionsbereiche.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Die Browserversion wird lokal und ohne API-Anfrage ausgeführt.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/web/css-custom-property-scope-check

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/web/css-custom-property-scope-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"definition_selector":".theme-dark .card","usage_selector":".theme-dark .card > .title"}'
{
  "definition_selector": ".theme-dark .card",
  "usage_selector": ".theme-dark .card > .title"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.css_custom_property_scope_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

timeout_sec30
max_crawl_pages25
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →