Commentaires conditionnels pour Internet Explorer

Les commentaires conditionnels permettent d'ajouter du code HTML qui ne sera interprété que par le navigateur Internet Explorer de Microsoft.

En pratique, cela permet par exemple d'ajouter des styles CSS spécifiques pour certaines versions du navigateur et corriger les bugs d'affichage.

La syntaxe

<!--[if IE]>
Ce texte ne s'affichera que sur Internet Explorer.
<![endif]-->

On peut également cibler une version précise du navigateur ou un ensemble supérieur ou inférieur à une version donnée.

<!--[if lte IE 6]>
Ce texte ne s'affichera que sur les versions d'IE inférieure ou égale à la 6.
<![endif]-->

Les attributs de comparaison sont :

  • lt : lower than. Strictement inférieure à ( < )
  • lte : lower than equal. Inférieure ou égale à ( <= )
  • gt : greater than. Strictement supérieure à ( > )
  • gte : greater than equal. Supérieure ou égale à ( >= )

Enfin, il est possible de définir du code qui sera lu par tous les navigateurs sauf IE.

<!--[if !IE]> <-->
Ce texte s'affichera sur tous les navigateurs autres qu'IE.
<!--> <![endif]-->

Exemples

<!--[if IE 5]>
Texte pour IE 5.x
<![endif]-->

<!--[if IE 5.5]>
Texte pour IE 5.5.x
<![endif]-->

<!--[if lt IE 7]>
Texte pour toutes les versions précédant IE 7
<![endif]-->

<!--[if lte IE 7]>
Texte pour toutes les versions jusqu'à IE 7 inclus
<![endif]-->

<!--[if gt IE 7]>
Texte pour toutes les versions à partir d'IE 8
<![endif]-->

<!--[if gte IE 7]>
Texte pour toutes les versions à partir d'IE 7
<![endif]-->

<!--[if !IE]> <-->
Ce texte s'affichera sur tous les navigateurs autres qu'IE
<!--> <![endif]-->

<!--[if gte IE 8]> <-->
Ce texte s'affichera sur tous les navigateurs
ainsi que sur les versions d'IE supérieure ou égale à la 8.
<!--> <![endif]-->