Могу ли я добавить оператор if для таблицы стилей Mozilla Firefox? - PullRequest
2 голосов
/ 17 декабря 2009

Привет! Я редактирую веб-сайт, который был сделан совместимым с Internet Explorer, поэтому он не работает в Firefox.

Есть ли способ добавить таблицу стилей Firefox или Mozilla?

Спасибо за помощь Джуди

<!--[if FIREFOX]>
    <link rel="stylesheet" type="text/css" href="/AEBP_Homepage_12887/css/firefox.css" />
<![endif]-->

Ответы [ 4 ]

7 голосов
/ 09 ноября 2012

Вы не можете сделать ничего более элегантного, чем решение Paul Irish для IE, но вы можете создать специальный набор определений FF, используя:

@-moz-document url-prefix() { CSS BLOCK }

Прежде чем кто-то начнет прыгать вверх и вниз с криком «ЭТОГО НЕ ДОЛЖНО БЫТЬ, ЧТОБЫ ВЫ НЕ ЧТО-ТО НЕПРАВИЛЬНО» - это полностью происходит, когда мы говорим о рендеринге шрифтов Firefox против Chrome и IE на сильно ограниченной сетке с большим выравнивание текста слева направо.

Вы также можете попробовать селектор браузера CSS:

http://rafael.adm.br/css_browser_selector/

Этот простой JS-файл позволяет добавлять такие элементы, как .gecko и .ff3, в ваш CSS.

* ПРИЛОЖЕНО - 2014 *

Я хочу добавить это, потому что спустя два года стандартное решение состоит в обнаружении функций с помощью modernizr.js вместо обнаружения в браузере. «Firefox» - очень тупой инструмент со всеми версиями, висящими вокруг сети. Этот ответ по-прежнему работает, это просто не рекомендуемое решение, если только вам не нужен браузер, все версии и ничего более.

3 голосов
/ 19 мая 2011

Один из способов сделать это с помощью php - посмотреть на пользовательский агент и посмотреть, что это за браузер. Вот что я использую:

Пример:

if (preg_match('/Firefox|Chrome|Opera|Safari|MSIE 8.0/', $_SERVER['HTTP_USER_AGENT'])) { 

link rel="stylesheet" href="one.css" type="text/css" media="screen"
}

else {
link rel="stylesheet" href="other.css" type="text/css" media="screen"
}

Также в функции preg_match вы должны ввести нужных вам агентов. Имейте в виду, что если вы не знаете php, пример, который я написал, нуждается в редактировании и правильном форматировании.

2 голосов
/ 17 декабря 2009

Нет. Синтаксис <!--[if IE]><![endif]--> зависит от Internet Explorer. Это нестандартное расширение Microsoft для CSS.

Подробнее см. условные комментарии .

2 голосов
/ 17 декабря 2009

Нет, условные комментарии полностью относятся к Internet Explorer AFAIK.

Тем не менее, вы можете создать условный комментарий, что IE будет не анализировать и, следовательно, предназначен только для браузеров без IE:

<![if !IE]>
<link rel="stylesheet" type="text/css" href="/AEBP_Homepage_12887/css/firefox.css" />
<![endif]>

это, однако, недопустимый HTML. Кажется, есть обходные пути, чтобы сделать его действительным. Ознакомьтесь с параграфом «Условный комментарий нижнего уровня» в статье Википедии .

...