From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/css/@document/index.html | 86 ++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 files/zh-cn/web/css/@document/index.html (limited to 'files/zh-cn/web/css/@document') diff --git a/files/zh-cn/web/css/@document/index.html b/files/zh-cn/web/css/@document/index.html new file mode 100644 index 0000000000..0f15af0f55 --- /dev/null +++ b/files/zh-cn/web/css/@document/index.html @@ -0,0 +1,86 @@ +--- +title: '@document' +slug: Web/CSS/@document +tags: + - CSS + - 参考 +translation_of: Web/CSS/@document +--- +
{{CSSRef}} {{ SeeCompatTable}}
+ +

@document CSS at-rule 根据文档的 URL 限制其中包含的样式规则的作用范围。它主要是为用户定义的样式表(UserStyle)而设计的,但也可以在作者定义的样式表上使用。

+ +
@document url("https://www.example.com/") {
+  h1 {
+    color: green;
+  }
+}
+
+ +

语法

+ +

@document 规则可以指定一个或多个匹配函数。如果任何功能适用于给定的 URL,则该规则将对该URL生效。可用的函数如下:

+ + + +

提供给 url()url-prefix(),和 domain() 函数的参数可以不使用引号括起来。但提供给 regexp() 函数的参数必须用引号括起来。

+ +

提供给 regexp() 函数的正则表达式中的转义字符必须再次进行一次 CSS 转义。例如,一个点号(.),在正则表达式中匹配任意换行符之外的字母.如果想要匹配一个正真的点号,必须首先按照正则表达式的规则转义一次(变为 \.)然后在使用CSS的规则再转义一次(转换为\\.)。

+ +

例子

+ +
@document url(http://www.w3.org/),
+          url-prefix(http://www.w3.org/Style/),
+          domain(mozilla.org),
+          regexp("https:.*")
+{
+  /* 该条CSS规则会应用在下面的网页:
+     + URL为"http://www.w3.org/"的页面.
+     + 任何URL以"http://www.w3.org/Style/"开头的网页
+     + 任何主机名为"mozilla.org"或者主机名以".mozilla.org"结尾的网页
+     + 任何URL以"https:"开头的网页 */
+
+  /* 让上述网页变得超级丑 */
+  body {
+    color: purple;
+    background: yellow;
+  }
+}
+
+ +

规范

+ + + + + + + + + + + + + + + + +
文档状态注释
{{ SpecName('CSS3 Conditional', '#at-document', '@document') }}{{ Spec2('CSS3 Conditional') }}
+ +

浏览器兼容性

+ + + +

{{Compat("css.at-rules.document")}}

+ +

参见

+ + -- cgit v1.2.3-54-g00ecf