#1 Le 31/01/2008, à 10:58
- tibotibo6
probleme hack css avec internet explorer
Bonjour à tous,
je viens de faire un site internet sous firefox et je voudrais qu'il soit compatible avec IE, j'ai donc été faire un tour chez mon ami Google puis j'ai écrit ce code entre mes balises head:
<link rel = "stylesheet" href = "../styles/style.css" type = "text/css" />
<!--[if IE]>
<link rel = "stylesheet" type = text/css href = "../styles/styleie.css" />
<![endif]-->
mais aucun changement internet explorer ne comprend pas cette règle et prend le fichier style.css
J'utilise IE 7.
Une idée ??
#2 Le 31/01/2008, à 11:16
- bwana147
Re : probleme hack css avec internet explorer
Deux feuilles de style à maintenir séparément... Une autre approche est d'ajouter du code Javascript pour modifier le comportement d'IE. Il y a http://code.google.com/p/ie7-js/ qui marchait plutà´t bien la dernière fois que je l'ai essayé.
Hors ligne
#3 Le 31/01/2008, à 11:29
- tibotibo6
Re : probleme hack css avec internet explorer
J'ai essayé avec le code que tu m'as donné mais toujours pas de changement IE affiche les mêmes bugs qu'avant !!
#4 Le 31/01/2008, à 11:31
- mutah
Re : probleme hack css avec internet explorer
Pour IE6, je ne dis pas, mais pour IE7, il a toujours moyen de trouver un compromis qui fonctionne aussi avec Mozilla.
Je ne lance pas des fleurs à MS hein, mais pour être développeur web, IE7 ne me fà¢che que très très rarement.
Essaye de trouver un compromis, ça te facilitera la maintenance comme l'expliquait bwana147...
Sinon tu peux choisir la css à inclure en te basant sur le user-agent :
- coté serveur, avec un include php par exemple
- coté client par du javascript (qui n'a pas la garantie d'être activé)
Ce n'est pas le chemin qui est difficile, c'est le difficile qui est chemin.
Hors ligne
#5 Le 31/01/2008, à 12:27
- tibotibo6
Re : probleme hack css avec internet explorer
Désolé mutah mais je ne comprends pas trop comment inclure une feuille de style avec un include ??
#6 Le 31/01/2008, à 12:49
- mutah
Re : probleme hack css avec internet explorer
Désolé, j'ai fait un abus de langage ...
En php, dans $_SERVER['HTTP_USER_AGENT'], on trouve le user-agent. On connait donc le navigateur qui appelle la page (ou qui se déclare comme tel, cette information n'est pas fiable à 100%, on peut la forcer, par exemple pour voir un site IE-only avec mozilla, mais c'était il y a longtemps).
Donc en testant le contenu, on peut faire une condition qui va déterminer le nom du fichier à mettre dans l'attribut href.
Jette un coup d'oeil là : http://sebastienguillon.com/journal/2005/10/script-php-pour-dechiffrer-les-chaines-user-agent pour exploiter $_SERVER['HTTP_USER_AGENT'], après ce n'est qu'une affaire de test.
<?php
// faire un code qui détermine la feuille de style
if( c'est IE7 ! ) {
$cssfile = "styleie.css";
} else {
$cssfile = "style.css";
}
?>
<link rel = "stylesheet" href = "styles/<?php echo $cssfile; ?>" type = "text/css" />
voilà le principe ...
sinon, on peut faire de la génération dynamique de css, comme ici : http://blog.pixarea.com/index.php/2007/01/07/62-dynamic-css-magic-with-php
ou là http://danzcontrib2.free.fr/construction4.php ...
Mais j'insiste encore une fois, IE7 est suffisamment conforme pour arriver à faire des sites css2 qui passent aussi bien avec firefox qu'avec lui !
Ce n'est pas le chemin qui est difficile, c'est le difficile qui est chemin.
Hors ligne
#7 Le 31/01/2008, à 13:43
- Alain.g
Re : probleme hack css avec internet explorer
Salut
Se baser sur l'user-agent est une mauvaise idée, le commentaire conditionnel est plus simple et surtout plus fiable.
Ton commentaire conditionnel doit fonctionner, le problème doit plutôt venir de ce qui est dans la css.
Avec un exemple en ligne, l'origine du problème serait vite détecté.
Xubuntu Karmic !
Hors ligne
#8 Le 31/01/2008, à 13:48
- tibotibo6
Re : probleme hack css avec internet explorer
merci pour ces info
Je vais essayer ca
je suis d'accord avec toi quand tu dis que IE7 est suffiasement conforme en tout cas mieux que le 6 ( en même temps c'est pas difficile:P)
J'ai juste un petit bug d'affichage que j'aimerais résoudre.:)
#9 Le 31/01/2008, à 13:55
- tibotibo6
Re : probleme hack css avec internet explorer
Salut Alain.g
Sous IE j'ai essayé de mettre un paragraphe qui était noir en bleu (dans la feuille de style styleie.css )
Cette commande basique ne marchant pas j'en conclu que IE ne détecte pas mon commentaire conditionnel.
qu'en penses-tu?
#10 Le 31/01/2008, à 14:17
- Alain.g
Re : probleme hack css avec internet explorer
Je pense qu'un exemple en ligne serait plus pratique pour voir une éventuelle erreur
Essaie avec cette page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test commentaire conditionnel</title>
<!--[if IE]><style type="text/css">div {color: blue}</style><![endif]-->
</head>
<body>
<div>
Ce texte doit s'afficher en bleu pour Internet Explorer
</div>
</body>
</html>
Dernière modification par Alain.g (Le 31/01/2008, à 14:18)
Xubuntu Karmic !
Hors ligne
#11 Le 31/01/2008, à 14:29
- tibotibo6
Re : probleme hack css avec internet explorer
effectivement pour IE ce texte s'affiche en bleu. je te donne mon code si tu trouves une erreur
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Language" content="fr" />
<meta name="GENERATOR" content="PHPeclipse 1.9" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Accueil</title>
<link rel = "stylesheet" href = "../styles/style.css" type = "text/css" />
<!-- [if IE]>
<link rel = "stylesheet" type = "text/css" href = "../styles/styleie.css" />
<![endif]-->
<link rel = "shortcut icon" type = "image/x-icon" href = "../images/favicon.ico" />
<script type="text/javascript" src = "../js/fonctions.js">
</script>
</head>
<body>
Tout plein de choses !!
</body>
</html>
#12 Le 31/01/2008, à 14:46
- Alain.g
Re : probleme hack css avec internet explorer
Dans le code que tu viens de donner, l'erreur vient de l'espace entre <!-- et [if IE]>
Il ne faut pas d'espace :
<!--[if IE]>
Xubuntu Karmic !
Hors ligne
#13 Le 31/01/2008, à 15:05
- tibotibo6
Re : probleme hack css avec internet explorer
Ah lala !!
Une erreur impardonnable, et introuvable aussi (pour ma part;))
Merci beaucoup pour ton aide Alain.