Warum element-style-override-Klasse, die auf element?

Unser problem ist wie folgt.
Wir haben Stück code wie dieser.

<div class="parent">
    <div class="child">
        <a href="#" class="child_item" onclick="return false;" onfocus="blur();">Item 1</a>
    </div>
    <div class="child">
        <a href="#" class="child_item" onclick="return false;" onfocus="blur();">Item 2</a>
    </div>
    <div class="child">
        <a href="#" class="child_item" onclick="return false;" onfocus="blur();">Item 3</a>
    </div>
    <div class="child">
        <a href="#" class="child_item" onclick="return false;" onfocus="blur();">Item 4</a>
    </div>
    <div class="clear">
    </div>
</div>

Das ist alles im globalen container mit der Klasse .content.

CSS-code:

.content a
{
    font-size: 11px;
}

.parent a
{
    font-size: 16px;
}

Aus irgendeinem Grund, anstelle der Anwendung .parent a Browser anwenden .content a.

Was ist falsch und wie kommen container CSS angewendet wird, anstatt näher .parent-CSS?

  • Sie sollten .parent a da es die gleiche Spezifität, zuletzt definierte, und überschreibt jede Eigenschaft in .content a. Es sieht aus wie Sie Sie erstellt haben, kann ein reduzierter test Fall, dass reduziert wurde entfernt der Fehler.
  • betrachten wir ein Szenario, in dem Eltern-und Kind-beide haben eine eigene Charakteristik. Kind kann Erben-Eigenschaft vom übergeordneten Element sowie kann Ihren eigenen Immobilie. wenn Kind und Eltern teilen sich die selben Eigenschaft als Kind Eigentum Vorrang.
  • Passiert das nur in manchen Browsern? Hast du firebug, ein browser-plugin für firefox, die erklärt, wie und warum wurde das CSS angewendet?
  • Ich habe das Problem in Chrome, FF und IE (7,8). Es sieht aus wie .parent a wird nicht angewendet
InformationsquelleAutor EnterSB | 2011-09-30
Schreibe einen Kommentar