KrosseKrabbe: float: left; bringt Hintergrund um die Ecke

Hallo,

folgendes Codefragment bringt mich um den Verstand...
#body umschließt #body_contents, daher sollten doch alle Angaben von #body auf #body_contents übertragen werden...
Warum "überschreibt" die float-Angabe in #body_contents die background-color-Angabe in #body?

Mit anderen Worten: ich brauche sowohl die FLOAT-Angabe als auch die Hintergrundfarbe
(die Hintergrundfarbe allerdings in #body und NICHT in #body_contents, da #body noch andere Inhalte beherbergt..);

  • wie kombiniere ich beide miteinander?!
  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title></title>  
<style type="text/css">  
<!--  
#body {  
	background-color: #FF0000;  
	width: 1200px;  
	margin: 0 0 0 0;  
	border: 0px;  
}  
  
#body_contents {  
	width: 711px;  
	padding: 20px 20px 20px 20px;  
	float: left;  
}  
-->  
</style></head>  
  
<body>  
<div id="body">  
<div id="body_contents">  
<p>Dieser Hintergrund sollte rot sein...</p>  
</div>  
</div>  
</body>  
</html>  

  1. Der Hintergrund ist nicht rot, da id='body' keine Höhe hat. Du nimmst das einzige Kindelement mittels float: left aus dem HTML fluss. Wenn du nach dem id='body_contents' ein <div style='clear: both'></div> setzt kann das id='body' wieder die Höhe ermitteln.
    Gibt aber elegantere Methoden anstelle dieses neuen divs. clearfix ist da der Google Suchname.

    Gruß
    clearing
    T-Rex

  2. Hi,

    #body umschließt #body_contents, daher sollten doch alle Angaben von #body auf #body_contents übertragen werden...

    nein. Es werden nicht pauschal alle Eigenschaften vererbt, sondern nur bestimmte - was auch sinnvoll ist, es sei denn Du möchtest bei jedem Element in einem Container einen Rahmen sehen, nur weil der Container selbst einen Rahmen hat.

    Warum "überschreibt" die float-Angabe in #body_contents die background-color-Angabe in #body?

    Siehe Antwort von T-Rex. Nur dessen Lösungsansatz ignoriere bitte. Die Berechnung von height:auto bezieht gefloatete Elemente mit ein, sobald die visibility-Eigenschaft einen anderen Wert als visible besitzt.

    (die Hintergrundfarbe allerdings in #body und NICHT in #body_contents, da #body noch andere Inhalte beherbergt..);

    Warum hast Du eigentlich solche Elemente? Alleine schon die ID "body" zeigt doch, dass Du in Wirklichkeit das <body>-Element verwenden möchtest.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Siehe Antwort von T-Rex. Nur dessen Lösungsansatz ignoriere bitte.

      Und den von Cheatah wende bitte auch nicht wörtlich an :-)

      Die Berechnung von height:auto bezieht gefloatete Elemente mit ein, sobald die visibility-Eigenschaft einen anderen Wert als visible besitzt.

      Bei hidden bleibt von der Hintergrundfarbe aber auch nicht mehr viel übrig, und collapse hat bei nicht-Tabellen-Elementen die gleiche Bedeutung wie hidden :-p

      „Meinten Sie: overflow-Eigenschaft?“

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      1. Hi ChrisB!

        „Meinten Sie: overflow-Eigenschaft?“

        Jetzt wo der Server wieder online ist, kann man ja den Absatz zur Wunderwaffe overflow im SELFHTML-Weblog wieder getrost verlinken.

        MfG H☼psel

        --
        "Es gibt Augenblicke, in denen eine Rose wichtiger ist als ein Stück Brot."
        Rainer Maria Rilke
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      2. Hi,

        Siehe Antwort von T-Rex. Nur dessen Lösungsansatz ignoriere bitte.
        Und den von Cheatah wende bitte auch nicht wörtlich an :-)

        jiach. Schlaf ist eben kein adäquater Ersatz für Kaffee ... ;-)

        „Meinten Sie: overflow-Eigenschaft?“

        Ja. Danke für die Korrektur.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes