Heim  >  Artikel  >  Web-Frontend  >  Ein CSS-Hack für IE7_Experience Exchange

Ein CSS-Hack für IE7_Experience Exchange

WBOY
WBOYOriginal
2016-05-16 12:09:261091Durchsuche

IE7 hat viele Fehler behoben und Unterstützung für einige Selektoren hinzugefügt, sodass Hacks zum Ausblenden oder Anzeigen von IE wie *html {} und html>body {} jetzt in IE7 nicht funktionieren. Obwohl CSS Hack nicht empfohlen wird und bedingte Kommentare ein narrensicherer Filter sind, können bedingte Kommentare nur in HTML angezeigt werden, sodass CSS Hack immer noch seine Berechtigung hat. Nanobot hat einige CSS-Hacks für IE7 entdeckt, insbesondere:

>body
html*
*+html

Von diesen drei Schreibmethoden sind die ersten beiden illegale CSS-Schreibmethoden und werden in standardkonformen Browsern ignoriert, IE7 glaubt dies jedoch nicht. Für > body wird der fehlende Selektor durch den globalen Selektor * ersetzt, d. Da zwischen HTML und * kein Leerzeichen für HTML * steht, handelt es sich ebenfalls um einen CSS-Syntaxfehler. IE7 ignoriert ihn jedoch nicht, sondern geht fälschlicherweise davon aus, dass hier ein Leerzeichen vorhanden ist. Für den dritten Typ *+html geht IE7 davon aus, dass die DTD-Deklaration vor HTML ebenfalls ein Element ist, daher wird HTML ausgewählt. Unter diesen drei Methoden ist nur diese Methode legales CSS-Schreiben, was bedeutet, dass sie den Validator passieren kann. Die Verifizierung ist daher auch eine vom Autor empfohlene Hack-Nutzung.

Schließlich gab der Autor den besten Weg:

IE 6 und niedriger
Verwenden Sie * html {}, um das HTML-Element auszuwählen
IE 7 und niedriger
Verwenden Sie *+html, * html {}, um das HTML-Element
auszuwählen Nur 7
Verwenden Sie **+html {}, um das HTML-Element auszuwählen.
Nur IE 7 und moderne Browser.
Verwenden Sie html>body {}, um das Body-Element auszuwählen IE 7)
Verwenden Sie html>/**/body {}, um das Body-Element auszuwählen
Spezifische Informationen finden Sie im Originaltext:

Einfache CSS-Hacks für IE7

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:CSS-Tipps_ErfahrungsaustauschNächster Artikel:CSS-Tipps_Erfahrungsaustausch