webentwicklung-frage-antwort-db.com.de

Wie erkennt man IE und Edge-Browser in CSS?

Gibt es eine Standardmethode zum Erkennen von IE und Edge-Browsern in CSS? Ich habe Antworten zum Erkennen in JavaScript-Dateien gesehen, suche aber eine in CSS

20
AlreadyLost

Laden Sie für IE 9 und niedriger ein bedungenes Stylesheet:

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

IE 10 und höher unterstützt dies nicht, daher müssen Sie Medienabfragen verwenden:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
   /* IE10+ CSS */
}

Für Edge 12-15:

@supports (-ms-accelerator:true) {
   /* Edge 12+ CSS */ 
}

EDIT

Für Edge 16+

@supports (-ms-ime-align:auto) {
    /* Edge 16+ CSS */ 
}
55
Claire

Die akzeptierte Antwort für Edge funktioniert in Edge 16 nicht.

Diese Alternative funktioniert:

@supports (-ms-ime-align:auto) {
    /* IE Edge 16+ CSS */ 
}

Über https://stackoverflow.com/a/3220295

(Neue Antwort hinzufügen, da ich keine Kommentarberechtigungen habe.)

9
Jarrod Drysdale

Ich bin mir nicht sicher über Edge, aber um zB 10/11 anzuvisieren, kannst du Folgendes verwenden:

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  //styles
}
7
JusMalcolm

Zur Unterstützung von Edge 12+ und 16+ als ein Liner

@supports (-ms-accelerator:true) or (-ms-ime-align:auto) {
     // your css here
}
0
MR_AMDEV