Gibt es eine Liste von Browser-Bedingungen zur Verwendung, einschließlich Stylesheets?

StackOverflow https://stackoverflow.com/questions/46124

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe Leute gesehen, die in ihrem HTML so etwas gemacht haben:

<!--[if IE]>
  <link rel="stylesheet" href="ie.css" type="text/css" />
<![endif]-->

Funktioniert dies in allen modernen Browsern und gibt es eine Liste von Browsertypen, die mit dieser Art von if-Anweisung funktionieren?

Bearbeiten

Danke Ross.Interessant, das herauszufinden gt, lt, gte und lte.

War es hilfreich?

Lösung

Dies funktioniert in allen Browsern, da alles außer dem IE angezeigt wird <!--IGNORED COMMENT-->.Nur der IE liest den Kommentar, wenn er eine Bedingungsklausel enthält.Schauen Sie mal vorbei Dieser Artikel

Sie können auch die Version des IE angeben.Zum Beispiel:

<!--[if IE 8]>
<link rel="stylesheet type="text/css" href="ie8.css" />
<![endif]-->

Andere Tipps

Wenn Sie Javascript verwenden können, gibt es mehrere Möglichkeiten:

navigator.appName
navigator.appVersion 

Verknüpfung

Oder etwas Robusteres durch die Verwendung einer Bibliothek wie z jQuery.

Schließlich könnten Sie das verwenden BrowserDetect Objekt von QuirksMode.

Sobald Sie den Namen und die Version des Browsers kennen, können Sie HTML einfügen, um eine Verknüpfung zu einem Stylesheet herzustellen oder andere Tags einzuschließen.

Zusätzlich zu Ross‘ Antwort können Sie die Internet Explorer-Rendering-Engine nur mit bedingten Kommentaren ansprechen;Für andere Browser gibt es kein ähnliches Konstrukt.Sie können beispielsweise keine bedingten Kommentare schreiben, die auf Firefox abzielen, aber von Internet Explorer ignoriert werden.

Den gleichen Effekt wie in Ihrem Beispiel oben erreiche ich, indem ich die Zeichenfolge des Benutzeragenten abhöre.Ich liefere dann eine passende CSS-Datei für diesen Browser.Das ist nicht perfekt, da manchmal aus Kompatibilitätsgründen die Benutzeragentenzeichenfolge geändert wird.

Die andere Möglichkeit, verschiedene Browser anzusprechen, besteht darin, browserspezifische Hacks zu nutzen.Diese sind besonders unangenehm, da sie normalerweise auf Fehlern im Browser beruhen und Fehler leicht behoben werden können!

User-Agent-Sniffing ist meiner Meinung nach die beste Allround-Lösung.

Bedingte Kommentare gelten ausschließlich für IE (Version 5 und höher).Die offizielle Microsoft-Dokumentation ist Hier.Wenn Sie sie verwenden möchten, besteht die beste Strategie darin, externe Stylesheets oder Javascript-Dateien nach Ihren normalen Einbindungen bedingt einzubinden.Das bedeutet, dass Ihr IE-spezifischer Code im IE alles andere überschreibt.In jedem anderen Browser wird der Code als Kommentar behandelt und vom Parser ignoriert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top