2009-03-11 24 views
3

Ich benutze häufig diese CSS-Selektor Eltern> Kind. Mein Design sieht in Mozilla und Opera gut aus.Eltern> Kind CSS-Selektor

Aber in IE ist es scheiße. Ich weiß, > ist nicht in IE erkennbar, aber was ist die Alternative zu dem in IE?

Antwort

6

Es gibt keine Alternative für den direkten untergeordneten Selektor in IE6 (es sollte jedoch in IE7 funktionieren).

Stattdessen müssen Sie den Nachkommen Selektor (ein Leerzeichen) verwenden und Ihre Klassen zu kompensieren.

11

Eine Alternative ist die universelle Selektor zu verwenden, um eine spezifischere Regel zu machen, die wirksam werden, wenn die Knoten nicht direkt Kinder sind:

div p {color: red;}  // Takes effect if there's a <p> child at some level 
div * p {color: black;} // .. but this'll be true if it's not a direct child 

Allerdings müssen Sie für die Spezifität Konflikte achten. div * p ist spezifischer als eine andere Regel, die beispielsweise allgemein auf Absätze angewendet wird.

+0

+1: Ich habe das vorher noch nie gesehen (und ich habe eine Menge CSS getan). Gute Idee. – Joel

+0

Danke für die Verbesserung. Aber ich würde auf jeden Fall vorsichtig damit umgehen - es kann zu ernsthaften Schmerzen führen, wenn es zu großzügig gemacht wird. Spezifitätskonflikte sind böses Zeug! –

+0

Versuchen Sie dies zu vermeiden, da es extrem schlecht funktioniert. – cletus