Aloha ;)
Au, wei!
Ich war der naiven Annahme, die Attribute seien durchgängig, d.h. width bedeutet immer Breite, egal wo ich es anwende.
Naja, width bedeutet ja auch immer Breite... Nur manchmal wird die Breite eben nicht angewandt, weil andere Darstellungsmaximen für dieses Element vorrang haben. Bestes Beispiel: reine inline-Elemente. Diese besitzen allesamt kein Box-Modell.
Wie finde ich am besten heraus, wo width Gültigkeit hat
Die Gültigkeit bei Szenarien, in denen du display:... spezifizierst, richtet sich danach, ob die Eigenschaft bei dem Element, auf das display verweist, Gültigkeit besitzen. Also,
z.B. "display: table"
zeigt alle Gültigkeiten eines html-Elements table.
Welche Eigenschaften zum Zuge kommen, findest du experimentell ganz einfach über deine Entwicklerwerkzeuge heraus. Die sagen dir nämlich, welche Art von Box vom Element erzeugt wird und ob überhaupt eine Box erzeugt wird.
Wenn du's genauer wissen willst: Das W3C führt in seiner Spec (lies: Working Draft) zum basic box model die verschiedenen Typen von Boxen detailliert auf. In diesem Dokument - siehe Inhaltsverzeichnis - sind auch alle CSS-Eigenschaften des box-models aufgezählt. In den einzelnen Kapiteln steht dann je Eigenschaft, auf welche Elemente sie anwendbar sind.
Für width sind das:
all elements but non-replaced inline elements, table rows, and row groups
In deinem Fall: table und td können eine width haben, tr hingegen nicht. Entsprechend für display:table (ja), display:table-row (nein) und display:table-cell (ja).
Gruß
Doris
Grüße,
RIDER
--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[