web-dev-qa-db-fra.com

Comment créer un "else" dans un IE HTML conditionnel?

<!--[if lt IE 9]>
    This is less then IE9
ELSE
    this is all browsers: firefox, chrome, etc.
<![endif]-->

Comment est-ce que je fais ceci dans mon HTML? Je veux faire un "autre" ...

65
TIMEX

Vous ne cherchez pas d'autre, vous cherchez <![if !IE]> <something or other> <!--[endif]> _ (notez qu'il ne s'agit pas d'un commentaire).

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

Vous pouvez trouver de la documentation sur les commentaires conditionnels here .

110
cwallenpoole

J'utilise ce qui suit pour charger des ressources dans IE9 ou plus récent et tous les autres navigateurs

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

C'est difficile à croire. Regardez les sections d'ouverture et de fermeture si les instructions sont à l'intérieur de commentaires (ce n'est donc pas visible pour les autres navigateurs) mais visibles pour IE.

43
KhanSharp

La solution à votre problème est (notez l’utilisation de <!-- -->):

<!--[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]-->
12
Ruut

les commentaires conditionnels peuvent être dans des scripts aussi bien que dans 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
@*/
8
kennebec

Vous n'avez pas besoin de faire un elseC'est implicite. Alors

// put your other stylesheets here

<!--[if lt IE 9]>
    //put your stylesheet here for less than ie9
<![endif]-->
3
Jason Gennaro

La réponse acceptée par @cwallenpoole rompt le balisage, rend le code HTML invalide et annule la surbrillance de la syntaxe Visual Studio.

Voici comment vous le gardez propre:

<!--[if IE]>
    You're using IE!
<![endif]-->
<!--[if !IE]><!-->
    You're not using IE. See, even SO highlights this correctly.
<!--<![endif]-->
2
jazzcat
<!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>

Cela a fonctionné pour moi, après des heures de recherche. Il me fallait de la place pour une bannière contextuelle, que IE ne voulait pas animer. Il était supposé se cacher après quelques secondes. En utilisant cela, je pouvais me déplacer la page entière vers le bas juste assez, mais seulement dans IE, qui était exactement ce dont j'avais besoin!

Actuellement, je ne préfère FireFox ou Chrome moi-même que pour ceux qui utilisent encore Internet Explorer.).

Merci pour ces lettres/symboles dans cet ordre spécifique!

0
Jeff