Hans Kern: Float verschachtelte divs

Hallo,
ich habe folgende Verständnisfrage. Ich benutze ein Containerelement <div id="container"> in welchem ich ein rechts schwebendes <div id="menu"> habe. container soll menu umschließen und sich automatisch der Höhe von menu angepassen. menu liegt aber unterhalb von container (Firebird 0.7).
CSS:
#container
{
 margin: 1em auto;
 width: 750px;
 text-align: left;
 background-color: #fff;
 border: 1px solid #000;
}
#menu
{
 float: right;
 width: 200px;
 border-left: 1px solid #C5C877;
 padding-left: 15px;
}

HTML-Text:
<div id="container">
   <div id="menu">
    <a href="#">eins</a>
    <a href="#">eins</a>
    <a href="#">eins</a>
   </div>
</div>

Vielen dank für einen tipp, was ich falsch mache.

  1. hi,

    Ich benutze ein Containerelement <div id="container"> in welchem ich ein rechts schwebendes <div id="menu"> habe. container soll menu umschließen und sich automatisch der Höhe von menu angepassen.

    da du menu aber mit float formatiert hast, beeinflusst es die höhe seines elternelementes nicht mehr.
    gefloatete elemente werden bekanntlich, ebenso wie absolut positionierte, aus dem dokumentfluss herausgenommen.

    container _kann_ also seine höhe nicht von menu vorgegeben bekommen, da menu _logisch_ betrachtet durch das float gar nicht mehr _in_ container liegt.

    die lösung (auch schon oft hier im </archiv/> zu finden):

    mache hinter menu ein weiteres, ggf. leeres, element hin (noch innerhalb von container), und formatiere dieses mit clear:right.

    z.b. <br id="klarmacher" /> oder <div id="klarmacher"></div>
    und im CSS
    #klarmacher { clear:right; }

    gruss,
    wahsaga

    1. »»hallo,
      danke für die antwort.

      gefloatete elemente werden bekanntlich, ebenso wie absolut positionierte, aus dem dokumentfluss herausgenommen.

      wieso richtet sich menu dann am rechten rand von container aus ?

      bis dann.

      1. hi,

        gefloatete elemente werden bekanntlich, ebenso wie absolut positionierte, aus dem dokumentfluss herausgenommen.

        wieso richtet sich menu dann am rechten rand von container aus ?

        es bleibt immer noch innerhalb des containers, richtet sich also durch float an dessen seite aus.

        allerdings wird die höhe des containers von ihm dann nicht mehr beeinflusst.

        gruss,
        wahsaga