Ich habe Probleme zu bekommen
<!--[if !IE]>
arbeiten. Ich frage mich, ob es daran liegt, dass ich dies in meinem Dokument habe
<!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]-->
Wenn ich hinzufüge
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
zu meinem Header aus irgendeinem Grund funktioniert es nicht. Allerdings, wenn ich hinzufüge
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
zur eigentlichen HTML-Seite (in der Kopfzeile) funktioniert es. Irgendwelche Vorschläge? Prost
Update auf meine Frage
Ok, als ich entfernt habe, habe
<!-->
ich nur den IE eingecheckt, der funktionierte, aber jetzt wieder in FF wurde das no-ie.css auch auf FF angewendet. Also habe ich <!-->
das / wieder hinzugefügt und das / entfernt (und das in die Hauptvorlage eingefügt, damit die cms es nicht wieder hinzufügen) und alles funktioniert wieder in FF, aber jetzt wird das Stylesheet auf den IE angewendet! Also habe ich es versucht
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
und
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
Und das hat nicht funktioniert. Grundsätzlich versuche ich, diese Seite zum Laufen zu bringen http://css-tricks.com/examples/ResponsiveTables/responsive.php, aber verschiebe das CSS in ein Stylesheet. Sicher muss es einfach sein. Was vermisse ich? Ich würde JQuery lieber nicht verwenden, wenn ich nicht muss. Prost
quelle
<!-->
sofort nach dem<!--[if !IE]>
Antworten:
Hinweis: Diese bedingten Kommentare werden ab IE 10 nicht mehr unterstützt .
quelle
Andere Browser als IE behandeln die bedingten Anweisungen als Kommentare, da sie in Kommentar-Tags eingeschlossen sind.
Wenn Sie jedoch auf einen Browser abzielen, der NICHT IE ist, müssen Sie zwei Kommentare verwenden, einen vor und einen nach dem Code. IE ignoriert den Code zwischen ihnen, während andere Browser ihn als normalen Code behandeln. Die Syntax für das Targeting von Nicht-IE-Browsern lautet daher:
Hinweis: Diese bedingten Kommentare werden ab IE 10 nicht mehr unterstützt .
quelle
<!--[if !IE]-->IE ignores this<!--[endif]-->
wird nicht von IE versteckt! (7, 8 oder 9)Ein Update, wenn jemand diese Seite noch erreicht und sich fragt, warum das Targeting nicht funktioniert. IE 10 und höher unterstützen keine bedingten Kommentare mehr. Von der offiziellen MS-Website:
Weitere Informationen finden Sie hier: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Wenn Sie dringend auf dh zielen müssen, können Sie diesen jquery-Code verwenden, um eine ie-Klasse zu hinzufügen, und dann die .ie-Klasse in Ihrem CSS verwenden, um dh auf Browser zu zielen.
Update: $ .browser ist nach jQuery 1.9 nicht mehr verfügbar. Wenn Sie ein Upgrade auf jQuery über 1.9 durchführen oder es bereits verwenden, können Sie das jQuery-Migrationsskript nach jQuery einfügen , damit fehlende Teile hinzugefügt werden : jQuery Migrate Plugin
Alternativ überprüfen Sie diesen Thread auf mögliche Problemumgehungen : browser.msie-Fehler nach dem Update auf jQuery 1.9.1
quelle
Ich benutze das und es funktioniert:
quelle
Die von Microsoft empfohlene Syntax für vom Downlevel offenbarte bedingte „Kommentare“ lautet wie folgt:
Dies sind keine Kommentare, aber sie funktionieren ordnungsgemäß.
quelle
Zuallererst lautet die richtige Syntax:
Versuchen Sie diesen Beitrag: http://www.quirksmode.org/css/condcom.html und http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Eine andere Sache, die Sie tun können:
Überprüfen Sie den Browser mit jQuery:
In diesem Fall können Sie die CSS-Regeln für einige Elemente ändern oder eine neue CSS-Linkreferenz hinzufügen:
Lesen Sie dies: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
quelle
Sie müssen ein Leerzeichen für den
<!-- [if !IE] -->
My Full CSS-Block setzen, da IE8 mit Medienabfragen schrecklich istquelle
!IE
hier erwähnte Technik wird tatsächlich den kommentierten Block für IE 7 bis 10 ausführen.Für die Ausrichtung auf IE-Benutzer:
Für die Ausrichtung auf alle anderen:
Die bedingten Kommentare können nur von Internet Explorer erkannt werden, alle anderen Browser fädeln sie als normale Kommentare ein.
Um auf IE 6,7 usw. abzuzielen, müssen Sie in der If-Anweisung "Größer als gleich" oder "Kleiner als (gleich)" verwenden. So was.
Größer als oder gleich:
Weniger als:
Quelle: mediacollege.com
quelle
Dies gilt bis IE9
Dies ist für nach IE9
quelle
Für IE-Browser:
Für alle Nicht-IE-Browser:
Für alle IE größer als 8 ODER alle Nicht-IE-Browser:
quelle
Bedingter Kommentar ist ein Kommentar, mit
<!--[if IE]>
dem kein Browser außer dem IE lesen kann.ab 2011 Bedingter Kommentar wird ab IE 10 nicht unterstützt, wie von Microsoft in dieser Zeit angekündigt https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
Die einzige Möglichkeit, die bedingten Kommentare zu verwenden, besteht darin, den IE aufzufordern, Ihre Site als IE 9 auszuführen, der die bedingten Kommentare unterstützt.
Sie können Ihre eigenen CSS- und / oder JS-Dateien nur für schreiben, und andere Browser werden sie nicht laden oder ausführen.
Dieses Code-Snippet zeigt, wie IE 10 oder 11 ie-only.css und ie-only.js ausführen. Es enthält benutzerdefinierte Codes zur Lösung von IE-Kompatibilitätsproblemen.
quelle
Wenn Sie mit IE 10 oder höher arbeiten, wie unter http://tanalin.com/de/articles/ie-version-js/ erwähnt, werden die bedingten Kommentare nicht mehr unterstützt. Sie können https://gist.github.com/jasongaylord/5733469 als alternative Methode verwenden, wobei die Trident-Version auch im navigator.userAgent überprüft wird. Dies wird auch überprüft, wenn der Browser im Kompatibilitätsmodus arbeitet.
quelle
Dies funktioniert für mich in allen Browsern, die größer als Version 6 sind (IE7, 8, 9, 10 usw., Chrome 3 bis zu dem, was es jetzt ist, und FF Version 3 bis zu dem, was es jetzt ist):
quelle
Ich benutze dieses Javascript, um den IE-Browser zu erkennen
quelle
Danke Fernando68, ich habe das benutzt:
quelle
Ich bekomme diesen Code funktioniert in meinem Browser:
Hinweis für diesen Code: HTML5 Shiv und Respond.js IE8-Unterstützung von HTML5-Elementen und Medienabfragen
quelle