float: left; bringt Hintergrund um die Ecke
KrosseKrabbe
- css
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..);
<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>
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
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
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
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
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