2013-06-27 4 views
13

In einem Projekt, das ich mit denen ich arbeite habe viele Regeln wie diese entdeckt?Was macht der CSS-Trick * + html?</p> <pre><code>* + html { /.../ } </code></pre> <p>Ich weiß, was tun <code>*</code> und <code>+</code>, aber ich komme nicht, was der Punkt ist diese Konstruktion aufweist:

Ich habe entdeckt dies auch ein:

* html { 
    /.../ 
} 

ich keinen Platz finden konnten, wenn diese angewendet werden.

AFAIK html ist einzigartig pro Seite, warum also nicht einfach den html Selektor verwenden? Ist das eine Art Magie?

+8

[Es ist sicherlich!] (Http://www.youtube.com/watch?v=NLxN0wpFoP8) * Dark Microsoft Magie * –

Antwort

14

Dies sind CSS-Hacks für den Internet Explorer.

Weitere Informationen hier: http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/

+1

Weitere Informationen zur Unterstützung dieser Antwort: ein Testfall, um einige dieser Hacks zu vergleichen: http: // www.bongard.net/tools/css-hack-testfile/ – Arkana

+0

@Andy '* html' ist ein IE 6-Hack, der über IE 7 gesprochen hat? – feeela

12

Nach W3C Selectors definition, das "E + F" ist definiert als:

Entspricht ein F Element unmittelbar ein Geschwisterelement voran E.

Sie erwähnten den Code:

Dies sollte mit dem HTML-Tag direkt nach jedem anderen Element übereinstimmen. Aber das html-Element ist das erste Element (Wurzelelement) einer HTML-Seite. Also, es gibt kein Element (d. H. HTML-Tag) direkt vor dem HTML-Tag, die Regel passt zu keinem Element.

Zumindest für jeden Browser, der den Standard korrekt implementiert. Das "Problem" ist, IE7 implementiert es nicht korrekt und wendet die Regeln an.

Mit anderen Worten, dies ist ein CSS-Hack zu Ziel IE7.

wäre eine andere Möglichkeit, bedingte Kommentare zu verwenden: "Ist das eine Art von Magie"

<!--[if lte IE 7]> <html class="ie7"> <![endif]--> 

HTH

+2

Amen zu bedingten Kommentaren. * Etwas weniger dunkel Microsoft Magic * –

+0

+1 Danke für diese nützliche Antwort; siehe auch [HTML5 Boilerplate] (http://html5boilerplate.com/) für weitere Beispiele zur Verwendung bedingter Kommentare als Browser-Switch: https://github.com/h5bp/html5-boilerplate/blob/master/index.html – feeela