Frage

W3 gibt , dass nur vier CSS-Regeln für die Tabelle erlaubt sind Spalten (mit <col> Element.) - Rahmen, Hintergrund, Breite und Sichtbarkeit

Kennt jemand die Gründe für diese Entscheidung? Wenn Sie Grenzen und Hintergründe haben können, warum nicht Schriftarten und Farben?

War es hilfreich?

Lösung

Ian Hixie erklärt im Detail hier: das Geheimnis, warum nur vier Eigenschaften auf Tabellenspalten anwenden . Relevante Zitat:

  

Die Farbe des Textes ist auf dem ‚Farbe‘ Eigentum seines Elements abhängig. Sofern nicht anders angegeben, die ‚Farbe‘ Eigenschaft (grundsätzlich) standardmäßig auf ‚erben‘, die „nehmen den Wert des übergeordneten Elements“ bedeuten.

     

Also für einen Text in einer Zelle wird die Farbe durch die ‚Farbe‘ Eigenschaft der Zelle bestimmt, die aus der Reihe genommen wird, die sich aus der Tabelle entnommen, die aus der Tabelle der Eltern genommen wird, und so weiter .

     

Was ist mit der Spalte? Nun, die Spalte ist nicht einer von der Zelle Vorfahren, so wird es nie einen Blick in! Und darin liegt das Problem.

Andere Tipps

Nur ein wilder stab im Dunkel, basierend auf meinem begrenztes Verständnis:

Ich denke, Styling über Spalte verwandte Elemente, weil beschränkt ist, obwohl <col> und <colgroup> Spalten von Zellen darstellen, ist es tatsächlich sie nicht enthalten (sie sind tatsächlich von den <tr>s enthalten). Mit diesen Themen Vorrang und Spezifität kommt und die Kaskadierung (da Kaskadierung nur zwischen enthalten / Container-Elementen durchgeführt werden kann) - wenn widersprüchlichen Stilregeln aus den <tr> und <col> (das wäre das gleiche Niveau in einer Mehrfachvererbungshierarchie) auftreten - was sollte die Zelle tatsächlich nutzen?

Wie, warum diese besondere Handvoll Stil erlauben Attribute allerdings ist. Keine Ahnung

Ein Wort: Mehrdeutigkeit. Die Zellen haben Kinder von Zeilen sein; Es wäre kein Tisch anders sein. Aber es gibt keine Spalte von abzusteigen. Mit colspan bedeutet, dass eine Zelle in zwei Spalten sein könnte. Anstatt zu versuchen, mit einem paar verwirrenden Weise zu kommen, warum nicht nur dem Entwickler Platz auf jeder n-ten Zelle einen class lassen?

Wenn Sie genau an der Spezifikation aussehen, auf die Sie verknüpfen, werden Sie Versuche Mehrdeutigkeiten sehen. Die width Eigenschaft gibt ein Minimum; die background tritt in den Hintergrund zu der Reihe und Zelle; und border verweist auf eine „Konfliktlösung Algorithmus“. Der einzige Grund, es gibt sogar einen Algorithmus für border ist, weil es vernünftig ist zu verstehen, der sollte „gewinnen“ (den Algorithmus für Details). Aber könnte man sich vorstellen, um herauszufinden, welche color oder font sollte „gewinnen“?

Vielleicht, weil jede Zeile in der Tabelle muß für Ihre Spalte einer Zelle nicht unbedingt angezeigt werden (zum Beispiel wegen eines colspan). Welche Spalte sollte die Zelle erbt es ist Stil aus? Nur eine Vermutung.

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