CSS
Internet Explorer-Hacks
Suche…
Bemerkungen
Diese "Hacks" können verwendet werden, um einen bestimmten Browser / Client anzusprechen. Dies kann verwendet werden, um Browser-Rendering-Unterschiede zu umgehen, indem Sie Stile in einer der oben aufgeführten Wrapper anwenden.
High Contrast-Modus in Internet Explorer 10 und höher
In Internet Explorer 10+ und Edge bietet Microsoft die -ms-high-contrast Medien an, um die Einstellung "High Contrast" im Browser anzuzeigen, wodurch der Programmierer die Stile der Site entsprechend anpassen kann.
Der -ms-high-contrast hat 3 Zustände: active , black-on-white und white-on-black . In IE10 + hatte es auch none Status, der in Edge jedoch nicht mehr unterstützt wird.
Beispiele
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: black-on-white) {
.header{
background: #fff;
color: #000;
}
}
Dadurch wird der Hintergrund der Kopfzeile in Weiß und die Textfarbe in Schwarz geändert, wenn der Hochkontrastmodus aktiviert ist und sich der black-on-white Modus befindet.
@media screen and (-ms-high-contrast: white-on-black) {
.header{
background: #000;
color: #fff;
}
}
Ähnlich wie im ersten Beispiel, dies wählt jedoch nur den white-on-black Status aus und invertiert die Header-Farben in einen schwarzen Hintergrund mit weißem Text.
Mehr Informationen:
Microsoft-Dokumentation zu -ms-high-contrast
Nur Internet Explorer 6 und Internet Explorer 7
Um Internet Explorer 6 und Internet Explorer 7 als Ziel festzulegen, starten Sie Ihre Eigenschaften mit * :
.hide-on-ie6-and-ie7 {
*display : none; // This line is processed only on IE6 and IE7
}
Nicht-alphanumerische Präfixe (mit Ausnahme von Bindestrichen und Unterstrichen) werden in IE6 und IE7 ignoriert. Daher funktioniert dieser Hack für jedes nicht Präfix- property: value .
Nur Internet Explorer 8
Um Internet Explorer 8 als Ziel @media \0 screen { } , wickeln Sie Ihre Selektoren in @media \0 screen { } :
@media \0 screen {
.hide-on-ie8 {
display : none;
}
}
Alles zwischen @media \0 screen { } wird nur von I verarbeitet
Hinzufügen von Inline-Block-Unterstützung zu IE6 und IE7
display: inline-block;
Die display mit dem Wert von inline-block wird von Internet Explorer 6 und 7 nicht unterstützt. Eine Problemumgehung hierfür ist:
zoom: 1;
*display: inline;
Die zoom Eigenschaft löst die hasLayout Funktion von Elementen aus und ist nur in Internet Explorer verfügbar. Die *display stellt sicher, dass die ungültige Eigenschaft nur auf den betroffenen Browsern ausgeführt wird. Andere Browser ignorieren die Regel einfach.