CommentCaMarche
Recherche
Posez votre question Signaler

Maximiser la compatibilité IE 10

unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - Dernière réponse le 5 juin 2013 à 11:07
Bonjour,
Comme nous le savon il est possible d'indiquer des instructions conditionnelles CSS pour indiquer d'autres feuilles de styles CSS pour IE. Cependant, IE10 n'accepte plus les instructions de conditions.
Or, mon problème est le suivant:
Avec ma feuille de style destinée à tous navigateur ( sauf IE en théorie mais pas pour IE10 de fait), IE 10 affiche tout comme il faudrait... sauf le menu déroulant. Les menus se déroule en bas et non à droite comme ils le font avec un autre navigateur.
Du coup, il faut que je règle ça mais je ne peux pas modifier mon style car sinon ça aurait un impact mauvais pour les autres navigateurs... il faut donc que je créer un style pour IE10.
Cependant, comment faire? Vus que IE10 n'accepte pas les conditions CSS...
Je ne vois pas la démarche à suivre, et si c'est possible!
Merci à tous.
Lire la suite 
Réponse
+0
moins plus
Ca doit être gérable grace à du PHP. utilise la variable $_SERVER["HTTP_USER_AGENT"] qui te donne le navigateur utilisé. Pas IE10 d'installer sur cette machine donc je peux pas te dire, mais repère la chaine qui le caractérise et fais un petit preg_match dessus.
Selon le résultat tu insère ta feuille CSS spéciale IE10 ou pas.
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour ta réponse!

Cependant je ne connais pas du tout les commandes que tu me désigne, je suis assez débutant. Si tu pourrais m'en dire plus ? Je vais étudier ça!

Merci encore
Quo- 21 mai 2013 à 16:14
Plus précisement :

if (preg_match("/Insère ici le specifique a IE10\//", $_SERVER["HTTP_USER_AGENT"]){
echo "<link rel="stylesheet" href="css/ie10.css">";
}

Fais des echo sur la variable et compare la a ce que tu obtient sur d'autre navigateur pour chopper la partie de la chaine qui indique que le navigateur est IE10. Sinon essaye de la chercher sur google.
Répondre
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 21 mai 2013 à 16:33
Alors apparemment ça donnerai quelque chose du genre... :



<?php

if (preg_match("/MSIE\s([\d]+)/", $_SERVER["HTTP_USER_AGENT"]){

echo "<link rel="stylesheet" href="style.css">";

}?>



Mais Dreamweaver me detecte des erreurs ( pas au niveau de la chaine mais du code ), ça ne fonctionne pas.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour!

Problème toujours non résolus...! Si il y a d'autres idées je suis preneur...!

merci!
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Il semble qu'il soit possible d'isoler IE 10 dans le CSS.

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
#truc { display:none;}
}

le div truc n'est plus affiché et uniquement avec IE10.

@+
Ajouter un commentaire
Réponse
+0
moins plus
Ce n'est pas vraiment ce que je recherche mais en tout cas tu as raison dans ta réponse!
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 31 mai 2013 à 20:30
Moi aussi j'étais surpris mais c'est pourtant bien cela, j'ai vérifier sur le net et IE10 ne comprend plus les instruction conditionnelle.

Si tu veux tu peux regarder le site en question :
http://www.pierrefaure71.com/college/nosclasses.php par exemple

Cependant, depuis j'ai rechanger le menu, il n'est compatible que pour les autres navigateurs que IE. Enfin, on peut remarquer quand même que avec IE10 il affiche la feuille de style correspondant aux autre navigateurs alors que les antérieur affiche la feuille de style prévus à leurs effet... bien que celle-ci ne soit pas correct du tout non plus.

Je galère vraiment avec ces histoires de menus, quelle galère Internet Explorer!

Au pire, si quelqu'un pourrait m'indiquer un menu vertical qui marche sur tout les navigateurs ça serait parfait ... car j'en avais trouvé un mais impossible d'indiquer une position left pour que le menu se déroule non pas vers le bas mais à droite, et le sous-menu définissait ses coordonnées en fonction de la taille de la fenêtre alors que j'avais mentionné relative... enfin bref.
Répondre
SweetRiver 97Messages postés jeudi 4 août 2011Date d'inscription 16 mai 2014Dernière intervention - 3 juin 2013 à 18:44
Bonsoir Unker,

Ton souci peut être résolu comme ceci:

1) Utilise 2 feuilles de style, une normale, une pour IE
2) Dans la feuille de style normale, tu insères ceci (à la fin):

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

ICI Tu mets le même contenu que celui de la feuille de style IE

}

Ainsi, pour IE10, la feuille de style normale sera chargée, mais le CSS appliquera les conditions IE s'il détecte que c'est IE10 qui est utlisé par le visiteur.
On pourrait également faire un @import, mais ce n'est peut-être pas la peine.

@+
Répondre
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 3 juin 2013 à 18:53
Un grand merci à toi! Je vais essayer ça demain,

Donc si j'ai bien compris je met tout le contenu de la feuille de style IE dans le media screen ? Pas uniquement ce que je veux modifier ? ( enfin remarque cela ne devrait pas changer grand chose )
Répondre
SweetRiver 97Messages postés jeudi 4 août 2011Date d'inscription 16 mai 2014Dernière intervention - 3 juin 2013 à 18:56
;)

Tu ne mets en effet que ce qui change.

Tiens-moi au courant.

@+
Répondre
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 4 juin 2013 à 12:21
Salut,

Cela ne fonctionne pas... mais je me suis arrangé pour que au final IE10 affiche les même choses que les autres navigateurs et correctement!

Bon c'est pas très propre mais je crois que avec mon niveau pour le moment je ne pourrai pas faire mieux... faites le test avec IE<10, IE10 et un autre navigateurs si vous voulez voir ce que sa donne et peut être m'aider un peu pour maximiser tout ça.

je rappel l'adresse :

http://www.pierrefaure71.com/college/index.php
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
si tu es en html5 il faut quelques bidouilles.
Ajouter un commentaire
Réponse
+0
moins plus
J'ai essayé ce que tu m'a dis mais ça ne change rien,

Quelques bidouilles je me doutes bien mais lesquelles...! Enfin je fais un peu au pif pour voir ce que ça change etc... j'arrive à des trucs " a peu près " ... enfin ça fonctionne pour le site du collège mais pas pour celui de l'école alors que c'est le même code. Enfin j'y perd la boule!

On se demande des fois pourquoi IE n'est pas comme tous les autres... vraiment fais pour ...embêter grandement!
SweetRiver 97Messages postés jeudi 4 août 2011Date d'inscription 16 mai 2014Dernière intervention - 4 juin 2013 à 18:21
Bonjour Unker,

Je jette un coup d'oeil plus approfondi à ton site et je reviens.
Il y a à mon avis sûrement moyen de régler cela...

@+
Répondre
SweetRiver 97Messages postés jeudi 4 août 2011Date d'inscription 16 mai 2014Dernière intervention - 4 juin 2013 à 23:21
Bonsoir,

Le souci, c'est qu'il y a pas mal de feuilles de style (non IE et IE), ce qui rend difficile le debuggage.

Et il y a des erreurs de syntaxe (des '.' qui manquent notamment).

Je te conseille plutôt de faire un seul CSS avec des conditions spéciales IE (par des hacks) , cela te facilitera bcp les choses.

@+
Répondre
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 4 juin 2013 à 23:32
Enfait,

Il y a 2 feuilles de style qui sont différentes selon IE ou pas. Style.css ou StyleIE.css et SprymenuBarHonrizontal.css ou SprymenuBarHonrizontalIE.css

L'affichage pour les autres nav fonctionne pas mal mais c'est pour IE que c'est pas top, sinon je met simplement le contenu de ma feuille SprymenuBarHonrizontal.css et puis tu regardes ce qui ne vas pas .

Après je sais il y a pas mal d'erreur et des trucs pas logiques, des bouts de codes en trop etc... mais c'est mon 1er site et je ne referai pas les mêmes erreurs c'est clair mais maintenant que c'est en place il faut que je rafistole un peu histoire que ça aille bien.
Répondre
unker 61Messages postés vendredi 17 mai 2013Date d'inscription 7 octobre 2013Dernière intervention - 5 juin 2013 à 11:07
Salut,

Enfait je viens de constater que je suis trompé. Je sais pas comment j'ai pus croire que ça marchai, j'ai mal vus... le problème est toujours le même.
Avec IE10 pas moyen d'y faire dérouler à droite...
Avec IE<10 rien à faire, on peut pas positionner le sous menu, il se fou un peu n'importe ou suivant s'il est en absolute ou relative, mais pas moyen d'indiquer un left et top pour le placer correctement...
Un seul moyen: tout refaire ce menu avec un menu qui soit compatible pour tout le monde!
J'ai deja cherché sur le web mais je galère à trouver quelque chose de bien...!

Un big HELP!!! Please! Car ça devait être finis il y a déjà une semaine...

Un grand merci à ceux qui m'aident et m'aideront.
Répondre
Ajouter un commentaire
Ce document intitulé «  Maximiser la compatibilité IE 10  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.