J'ai du mal à obtenir
<!--[if !IE]>
travailler. Je me demande si c'est parce que je l'ai dans mon document
<!doctype html>
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]> <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]> <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="">
<!--<![endif]-->
Quand j'ajoute
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
à mon en-tête pour une raison quelconque, cela ne fonctionne pas. Cependant si j'ajoute
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
à la page html réelle (dans l'en-tête) cela fonctionne. Aucune suggestion? À votre santé
Mettre à jour ma question
Ok, quand j'ai supprimé
<!-->
je n'ai vérifié que dans IE qui fonctionnait, mais maintenant de retour dans FF, le no-ie.css avait été appliqué à FF aussi. J'ai donc rajouté <!-->
et supprimé le / (et ajouté cela dans le modèle principal pour que le cms ne l'ajoute pas) et tout fonctionne à nouveau dans FF mais maintenant la feuille de style est appliquée à IE! Alors j'ai essayé
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
et
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
Et cela n'a pas fonctionné. Fondamentalement, j'essaye de faire fonctionner cette page http://css-tricks.com/examples/ResponsiveTables/responsive.php mais déplacez le CSS dans une feuille de style. Cela doit sûrement être simple. Qu'est-ce que je rate? Je préfère ne pas utiliser JQuery si je n'ai pas à le faire. À votre santé
la source
<!-->
immédiatement après le<!--[if !IE]>
Réponses:
Remarque: ces commentaires conditionnels ne sont plus pris en charge à partir d'IE 10 .
la source
Les navigateurs autres que IE traitent les instructions conditionnelles comme des commentaires car elles sont incluses dans des balises de commentaire.
Cependant, lorsque vous ciblez un navigateur qui n'est PAS IE, vous devez utiliser 2 commentaires, un avant et un après le code. IE ignorera le code entre eux, alors que les autres navigateurs le traiteront comme du code normal. La syntaxe pour cibler les navigateurs non IE est donc:
Remarque: ces commentaires conditionnels ne sont plus pris en charge à partir d'IE 10 .
la source
<!--[if !IE]-->IE ignores this<!--[endif]-->
n'est pas cachée à IE! (7, 8 ou 9)Une mise à jour si quelqu'un accède toujours à cette page, se demandant pourquoi le ciblage par exemple ne fonctionne pas. IE 10 et les versions ultérieures ne prennent plus en charge les commentaires conditionnels. Sur le site officiel de MS:
S'il vous plaît voir ici pour plus de détails: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Si vous avez désespérément besoin de cibler ie, vous pouvez utiliser ce code jquery pour ajouter une classe ie à puis utiliser la classe .ie dans votre css pour cibler les navigateurs ie.
Mise à jour: $ .browser n'est pas disponible après jQuery 1.9. Si vous mettez à niveau vers jQuery au-dessus de la version 1.9 ou que vous l'utilisez déjà, vous pouvez inclure le script de migration jQuery après jQuery afin qu'il ajoute les parties manquantes: Plugin jQuery Migrate
Vous pouvez également consulter ce fil pour les solutions de contournement possibles: erreur browser.msie après la mise à jour vers jQuery 1.9.1
la source
J'utilise ça et ça marche:
la source
La syntaxe recommandée par Microsoft pour les «commentaires» conditionnels révélés de niveau inférieur est la suivante:
Ce ne sont pas des commentaires, mais ils fonctionnent correctement.
la source
Tout d'abord, la bonne syntaxe est:
Essayez ce post: http://www.quirksmode.org/css/condcom.html et http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Une autre chose que vous pouvez faire:
Vérifiez le navigateur avec jQuery:
dans ce cas, vous pouvez modifier les règles css pour certains éléments ou ajouter une nouvelle référence de lien css:
lisez ceci: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
la source
Vous devez mettre un espace pour le
<!-- [if !IE] -->
bloc Mon css complet comme suit, car IE8 est terrible avec les requêtes multimédiasla source
!IE
technique mentionnée ici exécutera en fait le bloc commenté pour IE 7 à 10.Pour cibler les utilisateurs IE:
Pour cibler tous les autres:
Les commentaires conditionnels ne peuvent être détectés que par Internet Explorer, tous les autres navigateurs l'enfilent comme des commentaires normaux.
Pour cibler IE 6,7 etc., vous devez utiliser "Supérieur à égal" ou "Inférieur à (égal)" dans l'instruction If. Comme ça.
Meilleur que ou égal:
Inférieur à:
Source: mediacollege.com
la source
C'est pour jusqu'à IE9
C'est pour après IE9
la source
Pour le navigateur IE:
Pour tous les navigateurs non-IE:
Pour tous les navigateurs IE supérieurs à 8 OU tous les navigateurs non-IE:
la source
Le commentaire conditionnel est un commentaire commençant par
<!--[if IE]>
qui ne peut être lu par aucun navigateur, sauf IE.à partir de 2011 Le commentaire conditionnel n'est pas pris en charge à partir de la forme IE 10 comme annoncé par Microsoft à cette époque https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
La seule option pour utiliser les commentaires conditionnels est de demander à IE d'exécuter votre site comme IE 9 qui prend en charge les commentaires conditionnels.
vous pouvez écrire vos propres fichiers css et / ou js pour ie uniquement et les autres navigateurs ne le chargeront ni ne l'exécuteront.
cet extrait de code montre comment faire exécuter IE 10 ou 11 ie-only.css et ie-only.js qui contient des codes personnalisés pour résoudre les problèmes de compatibilité d'IE.
la source
Dans le cas où vous travaillez avec IE 10 ou supérieur, comme indiqué dans http://tanalin.com/en/articles/ie-version-js/, les commentaires conditionnels ne sont plus pris en charge. Vous pouvez vous référer à https://gist.github.com/jasongaylord/5733469 comme méthode alternative, dont la version Trident est également vérifiée à partir du navigateur.userAgent. Ceci est également vérifié si le navigateur fonctionne en mode de compatibilité.
la source
Cela fonctionne pour moi sur tous les navigateurs supérieurs à la version 6 (IE7, 8, 9, 10, etc., Chrome 3 jusqu'à ce qu'il est maintenant, et FF ver 3 jusqu'à ce qu'il est maintenant):
la source
J'utilise ce javascript pour détecter le navigateur IE
la source
Merci Fernando68, j'ai utilisé ceci:
la source
Je reçois ce code fonctionne sur mon navigateur:
Remarque pour ce code: HTML5 Shiv et Respond.js IE8 supportent les éléments HTML5 et les requêtes multimédias
la source