Как сделать «еще» в IE HTML условным? - PullRequest
65 голосов
/ 19 июля 2011
<!--[if lt IE 9]>
    This is less then IE9
ELSE
    this is all browsers: firefox, chrome, etc.
<![endif]-->

Как мне сделать это в моем HTML?Я хочу сделать "еще" ...

Ответы [ 7 ]

109 голосов
/ 19 июля 2011

Вы не ищете другое, вы ищете <![if !IE]> <something or other> <!--[endif]> (обратите внимание, что это не комментарий).

<!--[if IE]>
   You're using IE!
<![endif]-->
<![if !IE]>
   You're using something else!
<![endif]>

Документацию по условным комментариям можно найти здесь .

43 голосов
/ 02 марта 2013

Я использую следующее для загрузки ресурсов в IE9 или новее и во всех других браузерах

<!--[if gte IE 9]><!-->        
    //your style or script
<!--<![endif]-->

В это трудно поверить.Посмотрите, открываются и закрываются ли разделы операторов внутри комментариев (поэтому они не видны другим браузерам), но видны IE.

12 голосов
/ 22 января 2015

Решение вашей проблемы (обратите внимание на использование <!-- -->):

<!--[if lt IE 9]>
  This is less then IE9
<![endif]-->
<!--[if gt IE 8]> <!-- -->
  this is all browsers: IE9 or higher, firefox, chrome, etc.
<!-- <![endif]-->
8 голосов
/ 19 июля 2011

условные комментарии могут быть как в скриптах, так и в html-

/*@cc_on
@if(@_jscript_version> 5.5){
    navigator.IEmod= document.documentMode? document.documentMode:
    window.XMLHttpRequest? 7: 6;

}
@else{
    alert('your '+navigator.appName+' is older than dirt.');
}
@end
@*/
3 голосов
/ 19 июля 2011

Вам не нужно делать else. Подразумевается .Итак

// put your other stylesheets here

<!--[if lt IE 9]>
    //put your stylesheet here for less than ie9
<![endif]-->
2 голосов
/ 09 ноября 2016

Принятый ответ @cwallenpoole нарушает разметку, делает HTML недопустимым и нарушает подсветку синтаксиса Visual Studio.

Вот как вы держите его в чистоте:

<!--[if IE]>
    You're using IE!
<![endif]-->
<!--[if !IE]><!-->
    You're not using IE. See, even SO highlights this correctly.
<!--<![endif]-->
0 голосов
/ 29 июля 2017
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">

<head>
 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
</head>
 <!--[if IE]>
<body style="margin: 38px 0 0 0;">
 <![endif]-->
 <!--[if !IE]>
<body>
 <![endif]-->

  -Content-

 </body>
</html>

Это сработало для меня, после нескольких часов поиска.Мне нужна была комната для всплывающего баннера, который IE не хотел анимировать.он должен был спрятаться через несколько секунд.Используя это, я смог просто переместить всю страницу достаточно вниз, но только в IE, что было именно то, что мне нужно!

В настоящее время только для тех, кто все еще использует IE, я предпочитаю FireFox или Chrome сам

Спасибо за эти буквы / символы в указанном порядке!

...