Есть ли список условий использования браузера, включая таблицы стилей?

StackOverflow https://stackoverflow.com/questions/46124

  •  09-06-2019
  •  | 
  •  

Вопрос

Я видел, как люди делали подобные вещи в своем HTML:

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

Работает ли это во всех современных браузерах и существует ли список типов браузеров, которые будут работать с таким оператором if?

Редактировать

Спасибо Росс.Интересно узнать о гт, лт, гте и лте.

Это было полезно?

Решение

Это работает во всех браузерах, потому что все, кроме IE, видит <!--IGNORED COMMENT-->.Только IE читает комментарий, если он содержит условное предложение.Посмотри на Эта статья

Вы также можете указать, какая версия IE.Например:

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

Другие советы

Если вы можете использовать Javascript, есть несколько вариантов:

navigator.appName
navigator.appVersion 

связь

Или что-то более надежное, используя такую ​​библиотеку, как jQuery.

Наконец, вы можете использовать Браузердетект объект из QuirksMode.

Получив имя и версию браузера, вы можете вставить HTML для ссылки на таблицу стилей или включить другие теги.

В дополнение к ответу Росса вы можете использовать только условные комментарии для механизма рендеринга Internet Explorer;для других браузеров подобной конструкции нет.Например, вы не можете писать условные комментарии, предназначенные для Firefox, но игнорируемые Internet Explorer.

Способ достижения того же эффекта, что и в приведенном выше примере, — это прослушивание строки пользовательского агента.Затем я предоставляю подходящий CSS-файл для этого браузера.Это не идеально, потому что иногда люди меняют строку своего пользовательского агента для совместимости.

Другой способ настроить таргетинг на разные браузеры — использовать хаки, специфичные для браузера.Это особенно неприятно, потому что обычно они основаны на ошибках в браузере, а ошибки обязательно исправляются!

На мой взгляд, анализ пользовательских агентов — лучшее универсальное решение.

Условные комментарии предназначены исключительно для IE (версия 5 и новее).Официальная документация Microsoft: здесь.Если вы собираетесь их использовать, лучшая стратегия — условно включать внешние таблицы стилей или файлы JavaScript после обычного включения.Это означает, что в IE ваш код, специфичный для IE, будет переопределять все остальное.В любом другом браузере код будет рассматриваться как комментарий и игнорироваться парсером.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top