Gunther: float:right und max-width

Beitrag lesen

Hallo Axel,

2.) müsste bei Axels Beispiel das DIV doch eigentlich die volle Breite des Viewports (also von <html>) einnehmen wollen - eingebremst durch das max-width, oder?
Opera 9 Win macht das also zumindest imho schon mal verkehrt, da er/sie/es das DIV wie ein Inline Element behandelt.
Nein, Opera hat doch Recht. Es gilt die Breite zu berechnen und zwar von einem absolut positionierten Element, welches nicht von sich aus eine definierte Breite mitbringt. Hierbei gilt:
...

  1. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit. Then solve for 'right'.
    ...
    Opera macht das genau so.

Left ist not auto, weil wir uns in einer ltr-Umgebung befinden, wo left, wenn nicht angegeben, gleich 0 ist.

danke für den Hinweis. War ich wohl noch nicht ganz up to date, denn nach CSS 2.1 macht Opera es tatsächlich wohl richtig. Der aktuelle (1.5.0.4) Firefox richtet sich wohl noch nach der CSS 2.0 Definition, die ich persönlich wesentlich "logischer" fand. Wenn ich eine "shrink to fit" Eigenschaft für ein Blocklevelelement haben will, kann ich normalerweise ja die Display-Eigenschaft auf inline setzen.
Für mich mal wieder ein klarer Fall von Verschlechterung (und noch mehr Kuddelmuddel im Browserverhalten) durch neue Definitionen seitens des W3Cs - schönen Dank auch!

3.) Durch die absolute Positionierung eröffnet das DIV einen neuen Block Formatting Context zu dem dann wiederum das gefloatete Image gehört, oder?
Richtig, und dieser Block ist eben so breit wie sein breitester Inhalt (shrink-to-fit).

jo - s.o.

viele Grüße Axel

Gruß zurück
Gunther