1

我想这样做,以便我的规则默认适用于除我列出的站点/页面之外的所有站点/页面。

有点像相反的@document domain(mozilla.org)

https://developer.mozilla.org/en-US/docs/CSS/@document

编辑:后续正则表达式

4

2 回答 2

1

目前没有一种简单的方法可以做到这一点,如本 CSS 条件规则草案中所述,其中包含指向 Mozilla 错误报告的链接:

此语法不提供任何否定功能,Mozilla 错误 349813中已要求这样做。人们想要否定的用例包括:

  • 一般需要特定规则的用户样式表,但知道该规则在特定站点上弊大于利。

  • 作者希望将规则应用于他们的大部分页面,但希望对其进行一些例外处理。

希望他们能尽快提出并实施这样的功能。

与此同时,您可能能够实现一些regexp()接受带有某些标志的 JavaScript 正则表达式的东西——详细信息包含在规范中——但我不能做出任何保证。

于 2012-11-01T11:20:33.280 回答
1
@document regexp('.+mydomain\\.com\/(?!nope|nah).+') {
    .someClass{}
}

这将匹配mydomain.com同时排除mydomain.com/nopemydomain.com/nah

regexp('https?://(?!domain1|domain2|domain3).+')也许在你的情况下。


https://www.w3.org/TR/2012/WD-css3-conditional-20120911/#at-document

请注意,正则表达式必须匹配整个 URL,而不仅仅是它的一部分。

例如,这条规则:

@document regexp("http://www.w3.org/TR/\\d{4}/[^/]*-CSS2-\\d{8}/") { body { font-size: 20px ! important } }

更改页面的正文元素的字体大小,例如http://www.w3.org/TR/2011/PR-CSS2-20110412/

请注意,正则表达式中的反斜杠需要 CSS 转义为\\.


https://developer.mozilla.org/en-US/docs/Web/CSS/@document

最初CSS 条件规则模块 Level 3中,@document 已被 推迟到 Level 4。

于 2019-04-01T13:00:56.710 回答