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
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 */
}
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.)
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
}
Zur Unterstützung von Edge 12+ und 16+ als ein Liner
@supports (-ms-accelerator:true) or (-ms-ime-align:auto) {
// your css here
}