Commentaires Conditionnels

Eléphanteau du PHP | 45 Messages

28 juil. 2005, 22:50

Bonjour,
Dans mon site j'utilise cela :

Code : Tout sélectionner

<![if !IE]><style type="text/css">@import url("themes/Normal/chat.css");</style><![endif]>
Cela marche correctement (il est pris en compte sur les navigateurs différents de IE).
Le problème c'est que c'est pas valide HTML (ca coince au validateur W3C)!
Quelqu'un peut m'aider?

Mammouth du PHP | 19672 Messages

28 juil. 2005, 22:55

:shock: Qu'est-ce que c'est que ces balises bâtardes ???? Ça sent le code Microsoft propriétaire à plein nez, et crois moi je m'y connais (en nez :langue: )

Tu veux faire quoi au juste ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 45 Messages

28 juil. 2005, 23:04

:shock: Qu'est-ce que c'est que ces balises bâtardes ???? Ça sent le code Microsoft propriétaire à plein nez, et crois moi je m'y connais (en nez :langue: )

Tu veux faire quoi au juste ?
Non se ne sont pas des balise proprétaires car quand il n'est pas question d'une ingégalité, elle passe au validateur (par exemple

Code : Tout sélectionner

<!--[if IE 5]>You are using IE 5!<![endif]-->
C'est balises permettes d'executer un code que si le navigateur correspond au code (! pour différent...). Je sais je pourais utiliser javascript ou php mais je trouve sa plus court !

Plus d'info (en anglais) : http://www.javascriptkit.com/howto/cc2.shtml

Mammouth du PHP | 19672 Messages

28 juil. 2005, 23:11

Plus court, possible, mais absolument pas standard dans les DTD HTML et encore moins XHTML.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juil. 2005, 09:18

En fait c'est une grosse astuce :

IE interprete le code HTML qui se trouve entre commentaire
Donc si tu fait

Code : Tout sélectionner

<!-- <p>Tu utilise IE</p> -->
IE va afficher le message alors que les autres ne vont pas le faire

Donc tu sais quand quelqu'un utilise IE

plus d'info ==> ICI <==

Perso, je suis contre cette manière de faire, je suis contre l'intolérance envers les "autres" navigateurs (ceux qu'on utilise pas). Je rale souvent sur les différences d'interprétation mais j'en fait mon partie et je tente de faire pour tous, mais je désaprouve totalement le fait de tenter de dire que il n'y a que le bon-navigateur-que-j'aime-bien qui est bien
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 45 Messages

30 juil. 2005, 00:02

Plus court, possible, mais absolument pas standard dans les DTD HTML et encore moins XHTML.
Ta trop fumé regarde un peu => http://validator.w3.org/check?uri=http% ... Ftest.html

ViPHP
pjl
ViPHP | 2119 Messages

30 juil. 2005, 08:08

Et de ton coté, tu pourrais rester correct, si ce n'est trop te demander, et essayer d'écrire correctement.
IE interprete le code HTML qui se trouve entre commentaire
Ce que tu as mis est un commentaire en HTML et c'est normal que le validateur du W3C ne cherche pas à valider un commentaire.

Mammouth du PHP | 19672 Messages

30 juil. 2005, 10:55

Plus court, possible, mais absolument pas standard dans les DTD HTML et encore moins XHTML.
Ta trop fumé regarde un peu => http://validator.w3.org/check?uri=http% ... Ftest.html
Je te signale que j'ai basé mon commentaire sur la base de ton premier bout de code :

Code : Tout sélectionner

<![if !IE]>...
Or dans ton code validé, il y a:

Code : Tout sélectionner

<!--[if !IE]>
La différence est fondamentale : il s'agit alors d'une balise de commentaire HTML effectivement parfaitement valide, la première version étant erronée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 45 Messages

30 juil. 2005, 23:31

Plus court, possible, mais absolument pas standard dans les DTD HTML et encore moins XHTML.
Ta trop fumé regarde un peu => http://validator.w3.org/check?uri=http% ... Ftest.html
Je te signale que j'ai basé mon commentaire sur la base de ton premier bout de code :

Code : Tout sélectionner

<![if !IE]>...
Or dans ton code validé, il y a:

Code : Tout sélectionner

<!--[if !IE]>
La différence est fondamentale : il s'agit alors d'une balise de commentaire HTML effectivement parfaitement valide, la première version étant erronée.
Oui j'en suis contient mais si je met "<!--[if !IE]>" sa ne marche pas, alors que si je met "<![if !IE]>" sa marche avec firefox donc... enfin merci d'avoir essayé d'avoir de m'avoir aidé mais j'ai trouvé une autre solution!

Eléphanteau du PHP | 12 Messages

06 mai 2007, 17:03

Bonjour à tous,Dans le cas d'une position 'fixed' non lu par ie, je voudrais savoir ce qu'il y faut modifier dans ce code :
feuille CSS :

Code : Tout sélectionner

@charset "iso-8859-1"; <!--[if lt IE 7]> <link href="ie-less-than-ie7.css" rel="stylesheet" type="text/css" /> <![endif]--> body { background-color:#e6e6d9; position: absolute; background: url('../fond2.jpg') no-repeat; background-position: 50% 0; font-family:"Georgia", Times, "Times New Roman", Palatino, serif;font-size:.9em; height: 100%; width: 100%; text-align:center; top: 0; left: 0; }
feuille CSS pour les autres navigateurs :
modern-browsers.css :

Code : Tout sélectionner

body{ top: 0; background-color:#e6e6d9; background-image: url('../fond2.jpg'); background-attachment : fixed; background-position: 50% 0; background-repeat: no-repeat; font-family:"Georgia", Times, "Times New Roman", Palatino, serif;font-size:.9em; height: 100%; width: 100%; text-align:center; overflow:auto; }
La page : http://ppzx.net/gestaltdos/gestalt.php5

Merci d'avance. Pierre AP

PS avec ie 7 et windows xp tout va bien.