これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
概要
@document 規則は、ドキュメントの URL に基づいて、その中に含まれるスタイル規則を制限する @ 規則です。これは主にユーザ定義スタイルシート用に設計されています。@document 規則には 1 つ以上のマッチング関数を指定します。関数が URL に適用されると、規則がその URL に効果を及ぼします。
主な用途はユーザ定義スタイルシートですが、著者定義スタイルシートにも使えます。
利用可能な関数は次の通りです:
url()。正確な URL にマッチしますurl-prefix()。URL が、与えた値で始まるときマッチしますdomain()。URL が、与えたドメイン内のもの(またはサブドメインのもの)であるときマッチしますregexp()。URL が、与えた正規表現 にマッチするときにマッチします。正規表現は URL 全体にマッチする必要があります。
構文
url()、url-prefix()、および domain() 関数に与える値は、単一引用符または二重引用符で囲うこともできます。regexp() 関数に与える値は、引用符で囲わねばなりません。
regexp() 関数に与えるエスケープされた値は CSS によってさらにエスケープされる必要があります。例えば、一つの . (ピリオド)は正規表現ではどんな文字にもマッチします。リテラルのピリオドにマッチさせるには、まず正規表現の規則を使ってエスケープし(\. にします)、次に CSS の規則を使ってエスケープしなければなりません(\\. にします)。
Formal syntax
@document [ <url> | url-prefix(<string>) | domain(<string>) | regexp(<string>) ]# { <group-rule-body> }
例
Firefox では、次の CSS を userContent.css ファイル内に記述してください:
@document url(http://www.w3.org/),
url-prefix(http://www.w3.org/Style/),
domain(mozilla.org),
regexp("https:.*")
{
/* この CSS 規則を次のページに適用:
+ "http://www.w3.org/" ページ。
+ "http://www.w3.org/Style/" で始まる URL のページ。
+ URL のホストが "mozilla.org" のページまたは ".mozilla.org" で終わるページ。
+ URL が "https:" で始まるページ。
*/
/* 上で挙げたページを醜する */
body { color: purple; background: yellow; }
}
仕様
CSS Conditional Rules Module Level 3 で初めて登場 しました。@document は CSS4 に 延期されました。
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | 未サポート | 1.5 (1.8) -moz | 未サポート | 未サポート | 未サポート |
regexp() |
未サポート | 6.0 (6.0) | 未サポート | 未サポート | 未サポート |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | ? | ? | ? | ? | ? | ? |
regexp() |
未サポート | 未サポート | ? | 未サポート | 未サポート | 未サポート |
関連情報
- Per-site user style sheet rules on the www-style mailing list.
-
ファイル
userContent.cssは Geckoベースのブラウザのユーザ定義スタイルシートです。