如何使用@document规则排除某些网站应用规则?

时间:2012-11-01 11:16:57

标签: css css3

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

@document domain(mozilla.org)

相反的排序

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

编辑:follow-up regex

2 个答案:

答案 0 :(得分:1)

目前没有一种简单的方法可以执行此操作,如this CSS Conditional Rules draft中所述,其中包含指向Mozilla错误报告的链接:

  

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

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

  •   
  • 有规则的作者,他们想要申请大部分网页,但希望为其做一些例外。

  •   

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

与此同时,您可能能够使用regexp()来接受带有特定标志的JavaScript正则表达式 - 详细信息包含在规范中 - 但我无法做出任何保证。

答案 1 :(得分: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匹配,而不仅仅是部分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/之类的页面的body元素的字体大小。

     

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


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

  Initially中的

CSS Conditional Rules Module Level 3,@ document已被   postponed至第4级。