Используя условные комментарии, легко ориентировать Internet Explorer с помощью правил CSS для браузера:
<!--[if IE 6]>
...include IE6-specific stylesheet here...
<![endif]-->
Иногда плохо работает движок Gecko (Firefox). Как лучше всего настроить таргетинг только на Firefox с вашими правилами CSS, а не на другой браузер? То есть Internet Explorer должен игнорировать не только правила Firefox, но и WebKit и Opera.
Примечание: я ищу «чистое» решение. Использование анализатора браузера JavaScript для добавления класса «firefox» в мой HTML, на мой взгляд, не считается чистым. Я бы предпочел увидеть что-то, что зависит от возможностей браузера, так же, как условные комментарии являются «особенными» для IE…
Ответы:
Хорошо, я нашел это. Это, пожалуй, самое чистое и простое решение, и оно не требует включения JavaScript.
Он основан на еще одном специфическом для Mozilla расширении CSS. Вот целый список этих расширений CSS прямо здесь: Расширения Mozilla CSS .
источник
domain()
фильтр. Например@-moz-document domain(google.com) {...}
, примените прилагаемые правила CSS только к домену google.com.Обновлено (из комментария @Antoine)
Ты можешь использовать
@supports
Больше
@supports
здесьисточник
Вот как можно работать с тремя разными браузерами: IE, FF и Chrome.
источник
Вот некоторые взломы браузера для ориентации только на браузер Firefox,
Использование селектора хаков.
JavaScript Хаки
Media Query Hacks
Это будет работать на Firefox 3.6 и позже
Если вам нужна дополнительная информация, пожалуйста, посетите browserhacks
источник
_:moz-tree-row(hover)
поэтому она будет единственной, кто сможет обработать.selector{}
последующее событие. Этот специфический хакер в настоящее время работает на всех версиях Firefox, узнайте больше на сайте browserhacks.com .Прежде всего, отказ от ответственности. Я действительно не поддерживаю решение, которое я представляю ниже. Единственный CSS для браузера, который я пишу, предназначен для IE (особенно для IE6), хотя хотелось бы, чтобы это было не так.
Теперь решение. Вы просили, чтобы оно было элегантным, поэтому я не знаю, насколько оно элегантно, но оно точно предназначено только для платформ Gecko.
Трюк работает только тогда, когда включен JavaScript и использует привязки Mozilla ( XBL ), которые интенсивно используются внутри Firefox и всех других продуктов на основе Gecko. Для сравнения, это похоже на CSS-свойство поведения в IE, но гораздо более мощное.
В моём решении задействованы три файла:
ff.html
ff.xml
ff.css
Обновление: вышеупомянутое решение не так хорошо. Было бы лучше , если бы вместо того , чтобы добавление нового элемента LINK будет добавить , что класс «Firefox» на элементе BODY. И это возможно, просто заменив вышеуказанный JS следующим:
Решение вдохновлено модным поведением Дина Эдвардса .
источник
Использование специальных правил -engine обеспечивает эффективную ориентацию на браузер.
источник
Вариант вашей идеи заключается в том, чтобы иметь схему,
server-side USER-AGENT detector
которая будет определять , какую таблицу стилей прикрепить к странице. Таким образом, вы можете иметьfirefox.css, ie.css, opera.css, etc
.Вы можете выполнить аналогичные вещи в самом Javascript, хотя вы можете не считать это чистым.
Я сделал похожую вещь , добавив,
default.css
что включает в себяall common styles and then specific style sheets
, чтобы переопределить или улучшить значения по умолчанию.источник
Теперь, когда Firefox Quantum 57 значительно усовершенствовал Gecko, известный под общим названием Stylo или Quantum CSS, он может оказаться в ситуации, когда вам придется различать устаревшие версии Firefox и Firefox Quantum.
Из моего ответа здесь :
источник
Единственный способ сделать это - использовать различные CSS-хаки, которые значительно повлияют на вашу страницу при следующих обновлениях браузера. Во всяком случае, это будет менее безопасно, чем использование сниффера js-browser.
источник
Поддержка CSS имеет привязку к javascript, как примечание.
https://developer.mozilla.org/en-US/docs/Web/CSS/Mozilla_Extensions
источник
Следующий код имеет тенденцию выдавать предупреждения Style lint:
Вместо того, чтобы использовать
Выручил меня! Получил решение для предупреждения стиля линта отсюда
источник