Detlef G.: margin problem mit gefloateter box

Beitrag lesen

Hallo michaah

... wobei overflow in html ...

Hat nichts mit HTML zu tun.

... in der version "hidden" ...

Wenn für ein Element overflow mit einem von visible abweichenden Wert gesetzt ist, erzeugt es einen eigenen block formatting context, genauso, wie auch float mit einem von none abweichenden gültigen Wert. Wobei hidden nicht immer optimal ist, weil es dabei passieren kann, dass Inhalte unerreichbar abgeschnitten werden. Bei overflow:auto würden in diesem Extremfall eben Scrollbalken angezeigt.
IE kennt keinen block formatting context sondern stattdessen Hashlayout, was etwa aufs gleiche hinauskommt und z.B. mit einer Höhenangabe ausgelöst werden kann.

Agrrr, das ist leider nicht das erste mal, und an sich war mir das problem bekannt ... nur eben nicht bewußt in dem augenblick, wo es sinnvoll gewesen wäre.

Bei den Absätzen verlässt du dich auf die collapsing-margins (sonst wären sie 4em auseinander).

Grundsätlich: Müte ich nicht beiden boxen eine rhamen geben, weil die rahmenhöhe sich ja zum margin addiert udn es somit eine unterschied zwischen den beiden boxen gäbe?

Hmm - ein Unterscheid von einem Pixel, wenn der auffallend oder störend ist, dann ja.
Ein Border ist auch nicht immer nötig, oft lässt sich durch die Verwendung von padding oder eine günstige Kombination von margin und padding der unerwünschte Effekt bei zusammenfallenden Rändern vermeiden.

Was ist mit "gefloatete element" gemeint,

Das Element, dem du ein float (left oder right) zugewiesen hast. Es hat damit _keinen_ Einfluss mehr auf umschließende oder nachfolgende Blockelemente, die sich im normalen Fluss befinden.

das element, die box, in deren style "float:wasauchimmer" definiert ist,

Nicht "wasauchimmer" sondern ein zulässiger Wert außer none, also left oder right.

oder die (nachfolge) box, die dadurch ja eigentlich aus dem normalen elementfluß genommen wird.

Nein, diese Box befindet sich im ganz normalen Elementfluss. Sie wird genau dort angezeigt, wo sie auch angezeigt würde, wenn das gefloatete Element nicht vorhanden wäre, auch in ihr enthaltene Blockelemente. Nur Texte und Inlineelemenente werden durch das gefloatete Element verdrängt bzw. umfließen es. (Bei dem Beispiel siehst du es, wenn du genau hinschaust.)

Die neu dazugekommene kleine box ganu unter links ist eigentlich meine navi box. Die war bislang mit position:absolute ganz nach rechts geklebt worden, unter den kopf bereich. Das klappt aber nur dan gut, wenn der kopfbereich eine feste höhe auf allen unterseiten hat ... was auf grund verschiedenzeiliger überschriften nicht der fall ist ...

Du könntest mal nachlesen, auf welches Element sich position:absolute bezieht.

... also möchte ich sie um die schwarze box floaten lassen.

Du meinst oben rechts in #inhalt anordnen und durch den weiteren Inhalt umfließen lassen?

Sie floatet nicht!

Du solltest #navi vielleicht als erstes Element in #inhalt anordnen und ihm ein float:right verpassen. Außerdem müsstest du dann die Regeln bei #inhalt p für diese wieder aufheben (#navi p {...}).
Sollte #navi nicht vielleicht auch eher eine Liste statt eines Divs mit Textabsätzen darin sein?

Noch etwas:
Entferne bitte die Inlinestyles und schreibe _alles_ ins zentrale CSS. Es wird damit übersichtlicher.

Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!