Commentaires conditionnels valable seulement pour ie6 et inférieur ?

WRInaute occasionnel
Bonjour,

J'ai un doute sur les commentaires conditionnels
J'ai un problème de marge avec la balise ul que sur ie6 ( probleme entre padding et margin)
Donc je veux spécifier une marge sur ie6 et inférieur et une autre marge pour tous les autres navigateurs.
J'ai donc écrit:
Code:
 <!--[if gte IE 7]> <!-->
<ul style="padding-left:20px;">
<!--> <![endif]-->

<!--[if lte IE 6]>
<ul style="margin-left:20px;">
<![endif]-->

Apparemment cela fonctionne maintenant correctement, mais je me demande si cela est correct.

A votre avis ?
Merci
 
WRInaute discret
Est-ce que ça marche encore avec Firefox, safari, chrome ou opera?
Je ne crois pas que cette utilisation soit souhaitable.
Il faut plutôt mettre les instructions dans le fichier css (ou utiliser les commentaires conditionnels pour ajouter un style après le fichier css ou les autres instructions css) pour que chaque navigateur trouve l'html qui convient (ici c'est internet explorer uniquement qui trouve l'annonce d'une liste!)et le style souhaité.
 
WRInaute occasionnel
Oui ça fonctionne , j'ai testé sur Firefox, Netscape, Opera,chrome, ie8, ie6.

Si je ne me trompe pas ce code:
Code:
<!--[if gte IE 7]> <!-->
<ul style="padding-left:20px;">
<!--> <![endif]-->
veut dire si c'est n'importe quel navigateur y compris ie7 et supérieur.

et ce code:
Code:
<!--[if lte IE 6]>
<ul style="margin-left:20px;">
<![endif]-->
veut dire si c'est ie6 et inférieur.

Donc en combinant les deux , j'arrive bien à ce que je veux, maintenant est ce judicieux ?
 
WRInaute discret
Je me méfie beaucoup des commentaires conditionnels dans l'html. Cela rend le débogage difficile.
Dans ce cas, je préfère agir sur le fichier css, d'autant plus qu'ici il faut cibler ie 6 et sans doute ses versions précédentes et qu'il est question de présentation.
Il y a peut être même une solution css à ce problème sans hack ou commentaire conditionnel...
 
Discussions similaires
Haut