Условные комментарии CSS для других браузеров, кроме IE?

Насколько я знаю, условные комментарии поддерживаются только для разных версий IE.

Аналогичным образом, можем ли мы предоставить условные комментарии и для других браузеров.

Если да, то как? Если нет, что может быть лучшей альтернативой?


person Starx    schedule 15.06.2010    source источник
comment
Я бы предложил создать браузер, соответствующий стандартам W3C.org и т. д. Затем используйте условные комментарии, чтобы исправить страницу для ie?   -  person Sphvn    schedule 15.06.2010
comment
Условные комментарии — это HTML, а не CSS. Для CSS не существует известного синтаксиса условного комментария (хотя для JScript существует условная компиляция). Вызывает тревогу то, что ни один из ответов, похоже, не указывал на это.   -  person BoltClock    schedule 19.04.2012
comment
@BoltClock'saUnicorn, Не все все знают. Я повторно пометил его.   -  person Starx    schedule 19.04.2012


Ответы (6)


Попробуйте плагин CSS Browser Selector. Я использую его на своем сайте, вы просто пишете CSS и указываете, какой браузер вы хотите настроить. Я использую его на своем сайте, и он отлично работает!

Надеюсь, поможет.

person Kyle    schedule 15.06.2010

Условные комментарии CSS предназначены только для IE.. Однако вы можете обнаружить Firefox:

Если следующий код не может эксклюзивно обнаружить Firefox..

<!--[if !IE]>
  ...statements...
<![endif]-->

Используйте «Условные комментарии с пониженным уровнем раскрытия», чтобы заставить его работать...

<![if !IE]>
  ...statements...
<![endif]>

Пример, чтобы заставить Firefox использовать эксклюзивный css..

<![if !IE]>

  <link href="css/ff.css" rel="stylesheet" type="text/css" />

<![endif]>

При этом вам не следует сильно беспокоиться о других браузерах, которые совместимы со стандартами< /а>.

person Sarfraz    schedule 15.06.2010

Насколько мне известно, условные операторы CSS являются эксклюзивными для IE. Они не должны быть нужны для другого браузера, поскольку они достаточно хорошо следуют стандартам. Зачем они вам нужны?

person Matteo Riva    schedule 15.06.2010
comment
Я знаю, что другие браузеры следуют тем же стандартам, но не точному совпадению. - person Starx; 15.06.2010
comment
Браузеры @Starx разные, вы можете использовать javascript, чтобы попытаться поймать их, или вам просто нужно понять, что между браузерами есть различия, это зависит от того, сколько времени и усилий вы готовы потратить. - person Sphvn; 15.06.2010
comment
@Starx, в противном случае вы можете создать свою страницу без стилей, которые вызывают различия между браузерами. Я имею в виду, что есть способы обойти это, но не простые и не эффективные ... Плагин выбора браузера CSS. Вероятно, это один из самых простых способов сделать это с помощью скрипта. - person Sphvn; 15.06.2010

Для других браузеров нет условных комментариев, только IE и версии IE.

Вы можете с помощью Javascript выполнять проверки для других браузеров и применять стили следующим образом.

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

Я бы посоветовал посетить W3.org и настроить свой сайт так, чтобы он работал в стандартном браузере, а затем использовать условное комментарии, чтобы исправить, как он загружается в IE, если есть проблемы (обычно они есть).

person Sphvn    schedule 15.06.2010

Как отмечалось в других ответах, для браузеров, отличных от IE, нет условных комментариев. Использование JS-детектирования — это то, что нужно.

Если вы хотите, чтобы закомментированный элемент влиял на состояние IE И другие браузеры, просто сделайте следующее:

<!--[if gt IE 8]><!-->
<link href="sample.css" rel="stylesheet" type="text/css" />
<!--><![endif]-->

Как вы можете видеть из выделения синтаксиса, элемент ссылки не закомментирован, поэтому он будет виден для браузеров, отличных от IE, а для IE он будет соответствовать условию (больше, чем IE 8 в этом примере).

person zamber    schedule 18.09.2013

Хотелось бы, чтобы для этого было решение, особенно для механизмов рендеринга электронной почты. Есть даже условные комментарии для Outlook, но нет для Gmail.

<!--[if gte mso 9]>

<![endif]-->
person cleversprocket    schedule 27.03.2014