Frage

Ich versuche, den Stil eines Nachkommen (nicht die direkte Kind) eines Elements mit CSS außer Kraft zu setzen.

Sprich: Ich arbeite an:

<table id="z_d__h3-real" class="z-hbox">
 <tbody>
   <tr valign="top">
   -----
   </tr>
  </tbody>
</table>

Ich mag den Stil zu überschreiben die valign des tr-Elements auf „Mitte“ zu setzen.

Ich habe versucht zu tun:

table.z-hbox tr {
    vertical-align:center;
}

Dies gilt allerdings nicht funktionieren. Ich gehe davon aus table.z-hbox tr für eine direkte Kind <tr> sucht sich was hier nicht der Fall ist. Wie <tr> innerhalb <tbody> gewickelt

Wie kann ich dieses Problem beheben?

War es hilfreich?

Lösung 3

Das Problem ist nicht mit dem Vorrang. Ich fand heraus, dass es sein sollte

vertical-align: middle anstelle von vertical-align: center

Das funktioniert.

Andere Tipps

Inline-Stile haben eine höhere Priorität als die in Tags oder ein Stylesheet definiert sind. Entfernen Sie entweder das valign="top" Attribut (in neueren Versionen des HTML-Standard veraltet ist sowieso), oder, wenn Sie nicht das Markup ändern, die CSS-Regel als !important markieren. Der Wähler selbst ist gut (Sie dies, indem andere Regeln testen).

Ihre CSS ist in Ordnung. Whitespace zwischen Wähler wählt Nachkommen würde > für direkte Kinder benötigt werden.

Ihr Problem ist, dass das Inline-Attribut Vorrang vor dem Stil im Stylesheet nimmt. Sie könnten versuchen, !important verwenden, aber ich weiß ehrlich nicht, wie Vorrang arbeitet mit veralteten HTML-Attributen. Ich sie nie verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top