Ich habe folgendes Layout mit 2 Schwimmer Behälter:Löschen float für nur übergeordneten Container, nicht Vorfahren?
<div id="navigation" style="float: left; width: 150px; height: 200px; background-color: #eee">Navigation</div>
<div id="container" style="margin-left: 150px; background-color: #f00">
<div style="float: left; width: 50%; height: 100px; background-color: #ff0">Block</div>
<div style="float: left; width: 50%; height: 20px; background-color: #f0f">Block</div>
<div style="clear: both"></div>
<div style="float: left; width: 50%; height: 50px; background-color: #00f">This Block</div>
</div>
Sie können es bei http://jsfiddle.net/dNmNj/ sehen.
Meine Absicht ist, floats für zu löschen, so dass der blaue Block (This Block
) direkt unter dem gelben (nicht dem rosa) bleibt. Das Ergebnis ist jedoch, dass es auch Floats für #navigation
löschte.
Wie lösche ich Floats nur für den übergeordneten Container und nicht für alle Vorgängercontainer?
nicht sicher, ob dies ist, was Sie wollen: http://jsfiddle.net/dNmNj/2/ (hinzugefügt 'overflow: hidden 'to' # container') – Pete
Ja danke! Genau das wollte ich. Könntest du mir ein wenig erklären, wie sich der Überlauf auf Floats auswirkt? –
haben eine Antwort hinzugefügt - der Overflow versteckte Sache hat etwas mit den Browsern zu tun hasLayout – Pete