Maximiser la compatibilité IE 10

Fermé
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013 - 21 mai 2013 à 14:03
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013 - 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.



A voir également:

7 réponses

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.
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
21 mai 2013 à 16:08
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
0
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.
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
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.
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
23 mai 2013 à 17:59
Bonjour!

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

merci!
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
27 mai 2013 à 23:02
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.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
31 mai 2013 à 19:04
Ce n'est pas vraiment ce que je recherche mais en tout cas tu as raison dans ta réponse!
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
31 mai 2013 à 20:23
Pas de souci.

Peux-tu dire pourquoi cela ne s'applique pas ici, il est peut-être possible de trouver une solution ?
Je suis surpris qu'IE10 réagisse différemment, tu peux indiquer un lien ?

@+
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
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.
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
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.

@+
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
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 )
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
3 juin 2013 à 18:56
;)

Tu ne mets en effet que ce qui change.

Tiens-moi au courant.

@+
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
Modifié par ideal23 le 4/06/2013 à 13:52
si tu es en html5 il faut quelques bidouilles.
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
4 juin 2013 à 14:04
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!
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
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...

@+
0
SweetRiver Messages postés 102 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 22 novembre 2016 6
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.

@+
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
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.
0
unker Messages postés 61 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 7 octobre 2013
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.
0