Что делает @ -moz-document url-prefix ()? - PullRequest
75 голосов
/ 26 июня 2010

В новом адаптивном веб-дизайне Саймона Коллисона в 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; }
}

Что это на самом деле делает?Я гуглил для @ -moz-document url-prefix () и нашел ссылки для его использования в пользовательском хроме, но не в стандартных таблицах стилей сайта.

Обычно в качестве аргумента передается URL-адрес, который затем ограничивает содержание объявления этим URL-адресом.Однако на сайте Colly аргумент не передается. Это указывает на то, что объявление работает с текущим URL-адресом или любой URL-адрес, нет?Итак, - это то, что мы видим здесь, способ нацеливания на браузеры только для Mozilla с определенными правилами ?

Ответы [ 3 ]

86 голосов
/ 26 июня 2010

Любое правило CSS, начинающееся с @-moz-, является правилом, специфичным для движка Gecko, а не стандартным правилом.То есть это расширение, специфичное для Mozilla.

Правило url-prefix применяет содержащиеся в нем правила стиля к любой странице, URL-адрес которой начинается с него.При использовании без аргумента URL, например @-moz-document url-prefix(), он применяется к ALL страницам.Фактически это CSS-хак , используемый только для Gecko (Mozilla Firefox).Все другие браузеры будут игнорировать стили.

См. здесь для списка других расширений, специфичных для Mozilla.

17 голосов
/ 26 июня 2010

С 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; }
}
0 голосов
/ 23 января 2018

Начиная с Firefox 59, вы должны просто использовать:

@document url("https://www.example.com/")

Поддержка префикс -moz версии этого свойства была прекращена для веб-контента из-за ошибки:

https://bugzilla.mozilla.org/show_bug.cgi?id=1035091

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...