wahsaga: allgemeine Frage zu float und width

Beitrag lesen

hi,

es heisst, dass man bei float auch immer eine breite angeben _muss_.

immer nicht. das zuletzt aufgeführte floatende Element sollte ohne Weitenangabe die restlichen zur Verfügung stehende Breite einnehmen.

nun ja, ich frage deshalb, weil es beim W3C ausdrücklich heisst:

"A floated box must have an explicit width (assigned via the 'width' property, or its intrinsic width in the case of replaced elements)."
http://www.w3.org/TR/CSS2/visuren.html#floats

Und man kann ja auch Inline-Elemente wie Bilder floaten lassen.

ja, dazu sagt das W3C ja auch, dass man dann keine explizite breite angeben muss, da das bild diese ja schon indirekt mitbringt.

reicht hier formal width:auto aus, oder muss ich eine explizite längenangabe machen?

Das wäre ja fast schon der Stein der Weisen;-)
Es wäre wirklich hilfreich, wenn man hier mit auto die Weite eines Blocklevel Elements nach seinem Inhalt bestimmen könnte.

nun, der grund warum ich frage ist folgender:

ich habe eine überschrift <h4> mit folgendem inhalt:

<h4>15:14:25 / 05.10.2003<br />[5 kommentare]</h4>

also durch den <br /> erzwinge ich zwei zeilen, in der oberen die datumsangabe, in der unteren die anzahl der kommentare (diese ist auch noch verlinkt, ist aber jetzt denke ich mal wurscht ...)

so, diese <h4>-überschrift formatiere ich jetzt mit einem einfachen float:right, und darunter folgt ein längerer absatz <p> mit text.

es "funktioniert" in allen browsern, in denen ich gestest habe, so wie ich es haben will, nämlich derart, dass die <h4> zweizeilig in der form
15:14:25 / 05.10.2003
       [5 kommentare]
(text nach rechts ausgerichtet)
angezeigt wird, nach rechts gefloatet und zwar in exakt der breite, die der text so auch benötigt.

ich habe also derzeit _gar keine_ angabe zur width gemacht.

deshalb würde ich jetzt gerne wissen, ob das _falsch_ ist laut CSS spezifikation, oder ob ich das so einsetzen kann und darf?

denn wie gesagt, obiges zitat aus der spezifikation spricht ja deutlich von einer "explicit width", die ich anzugeben hätte, sofern es sich nicht um ein replaced element handelt.

gruss,
wahsaga