@document
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Die @document CSS At-Regel beschränkt die darin enthaltenen Stilregeln basierend auf der URL des Dokuments. Sie wurde hauptsächlich für benutzerdefinierte Stylesheets entworfen (siehe userchrome.org für weitere Informationen), kann aber auch in autorendefinierten Stylesheets verwendet werden.
Syntax
@document url("https://www.example.com/") { h1 { color: green; } } Eine @document-Regel kann eine oder mehrere Übereinstimmungsfunktionen spezifizieren. Wenn eine der Funktionen auf eine gegebene URL zutrifft, wird die Regel auf diese URL angewendet. Die verfügbaren Funktionen sind:
url()-
Passt zu einer exakten URL.
url-prefix()-
Passt, wenn die Dokument-URL mit dem angegebenen Wert beginnt.
domain()-
Passt, wenn die Dokument-URL auf der angegebenen Domain (oder einer Subdomain davon) ist.
media-document()-
Passt das Medium gemäß dem Parameterstring, einer von
video,image,pluginoderall. regexp()-
Passt, wenn die Dokument-URL von dem angegebenen regulären Ausdruck übereinstimmt. Der Ausdruck muss die gesamte URL abgleichen.
Die Werte, die den Funktionen url(), url-prefix(), domain(), und media-document() übergeben werden, können optional mit einfachen oder doppelten Anführungszeichen eingeschlossen werden. Die Werte, die der Funktion regexp() übergeben werden, müssen in Anführungszeichen eingeschlossen sein.
Escape-Werte, die der Funktion regexp() übergeben werden, müssen zusätzlich für das CSS escaped werden. Zum Beispiel steht ein Punkt . für ein beliebiges Zeichen in regulären Ausdrücken. Um einen Punkt buchstäblich abzubilden, müssten Sie ihn zuerst gemäß den Regeln für reguläre Ausdrücke escapen (zu \.), und dann diesen String gemäß den CSS-Regeln escapen (zu \\.).
@document wird derzeit nur in Firefox unterstützt; wenn Sie eine solche Funktionalität in Ihrem nicht-Firefox-Browser nachbilden möchten, könnten Sie versuchen, dieses Polyfill von @An-Error94 zu verwenden, das eine Kombination aus einem Benutzerskript, data-* Attributen, und Attributselektoren verwendet.
Hinweis: Es gibt eine -moz-präfixierte Version dieser Eigenschaft — @-moz-document. Diese wurde auf die Verwendung nur in Benutzer- und UA-Blättern in Firefox 59 in Nightly und Beta beschränkt — ein Experiment, das dazu gedacht war, potenzielle CSS-Injektionsangriffe zu mildern (siehe Firefox Bug 1035091).
Formale Syntax
@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# { <group-rule-body> } Beispiele
>Dokument für CSS-Regel spezifizieren
@document url("http://www.w3.org/"), url-prefix("http://www.w3.org/Style/"), domain("mozilla.org"), media-document("video"), regexp("https:.*") { /* CSS rules here apply to: - The page "http://www.w3.org/" - Any page whose URL begins with "http://www.w3.org/Style/" - Any page whose URL's host is "mozilla.org" or ends with ".mozilla.org" - Any standalone video - Any page whose URL starts with "https:" */ /* Make the above-mentioned pages really ugly */ body { color: purple; background: yellow; } } Spezifikationen
Anfangs in Level 3 entworfen, wurde @document auf Level 4 verschoben, aber dann anschließend entfernt.
Browser-Kompatibilität
Loading…
Siehe auch
- Regeln für benutzerdefinierte Stylesheets pro Seite auf der www-style Mailingliste.