@ -moz-document url-prefix()是做什么的?

在Simon Collison的新型响应式网页devise中 ,在CSS中有几个这样的声明:

@-moz-document url-prefix() { .fl { float:left; margin:12px 4px 0 0; padding:0; font-size:65px; line-height:62%; color:#ba1820; } .fs { float:left; margin:12px 4px 10px 0; padding:0; font-size:65px; line-height:62%; color:#ba1820; } } 

这实际上是做什么的? 我已经search了@ -moz-document url-prefix(),并find了在userchrome中使用的引用,但没有find标准的站点样式表。

它通常有一个作为参数传入的URL,然后将声明的内容限制为该URL。 但是,在Colly的网站上,没有任何参数被传入。这表明声明是在当前的URL上运行,还是在任何 URL上运行? 那么我们在这里看到了一种针对仅限Mozilla的浏览器的方式吗?

任何以@-moz-开头的CSS规则都是一个Gecko引擎特定的规则,而不是一个标准规则。 也就是说,这是一个Mozilla特定的扩展。

url-prefix规则将包含的样式规则应用于URL以URL开头的任何页面。 当使用不带URL参数(如@-moz-document url-prefix()它适用于所有页面。 这实际上是一个CSS hack ,仅用于lockingGecko(Mozilla Firefox)。 所有其他浏览器将忽略样式。

请参阅此处以获取其他Mozilla特定扩展的列表。

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

  @-moz-document url(http://www.w3.org/), url-prefix(http://www.w3.org/Style/), domain(mozilla.org) { /* 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" */ /* make the above-mentioned pages really ugly */ body { color: purple; background: yellow; } }