Dies ist eine experimentelle Technologie
Da diese Technologie noch nicht definitiv implementiert wurde, sollte die Browser Kompatibilität beachtet werden. Es ist auch möglich, dass der Syntax in einer späteren Spezifikation noch geändert wird.
Übersicht
Die @document
CSS at-rule beschränkt die Stilregeln, die sie beinhaltet, basierend auf dem URL des Dokuments. Sie wurde hauptsächlich für Benutzerstylesheets entworfen. Eine @document
Regel kann eine oder mehrere Matchingfunktionen definieren. Falls eine der Funktionen auf einen URL passt, wird die Regel auf diesen URL angewandt.
Der Hauptanwendungsfall ist für benutzerdefinierte Stylesheets, jedoch kann diese Regel auch für autordefinierte Stylesheets verwendet werden.
Die verfügbaren Funktionen sind:
url()
, welche einen exakten URL matcht.url-prefix()
, welche matcht, falls der Dokument-URL mit dem angegebenen Wert beginnt.domain()
, welche matcht, falls der Dokument-URL zur angegebenen Domain (oder einer Subdomain davon) gehört.regexp()
, welche matcht, falls der Dokument-URL auf den angegebenen regulären Ausdruck passt. Der Ausdruck muss den gesamten URL matchen.
Syntax
Die angegebenen Werte für die url()
, url-prefix()
und domain()
Funktionen können optional durch einfache oder doppelte Anführungszeichen umschlossen werden. Die angegebenen WErte für die regexp()
Funktion müssen durch Anführungenzeichen umschlossen sein.
Für die regexp()
Funktion escapte Werte müssen zusätzlich vom CSS escapt werden. Zum Beispiel matcht ein .
(Punkt) ein beliebiges Zeichen in regulären Ausdrücken. Um einen Punkt zu matchen, muss er zunächst anhand der Regeln für reguläre Ausdrücke escapt werden (also \.
) und anschließend durch die CSS Regeln (also \\.
).
Formale Syntax
@document [ <url> | url-prefix(<string>) | domain(<string>) | regexp(<string>) ]# { <group-rule-body> }
Beispiele
@document url(https://www.w3.org/), url-prefix(https://www.w3.org/Style/), domain(mozilla.org), regexp("https:.*") { /* CSS Regeln hier werden angewandt auf: - Die Seite "https://www.w3.org/". - Jede Seite, deren URL mit "https://www.w3.org/Style/" beginnt - Jede Seite, deren URLs Host "mozilla.org" ist oder mit ".mozilla.org" endet - Jede Seite, deren URL mit "https:" beginnt */ /* macht die oben erwähnten Seiten wirklich hässlich */ body { color: purple; background: yellow; } }
Spezifikationen
Ursprünglich in CSS Conditional Rules Module Level 3, wurde @document
nach Level 4 verschoben.
Browser Kompatibilität
Merkmal | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Grundlegende Unterstützung | Nicht unterstützt | 1.5 (1.8)-moz | Nicht unterstützt | Nicht unterstützt | Nicht unterstützt |
regexp() |
Nicht unterstützt | 6.0 (6.0)-moz | Nicht unterstützt | Nicht unterstützt | Nicht unterstützt |
Merkmal | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Grundlegende Unterstützung | ? | ? | ? | ? | ? | ? |
regexp() |
Nicht unterstützt | Nicht unterstützt | ? | Nicht unterstützt | Nicht unterstützt | Nicht unterstützt |
Siehe auch
- Per-site user style sheet rules on the www-style mailing list.
- The file
userContent.css
is a user stylesheet on Gecko-based browsers.