2012-08-25 8 views
6

ich CSS ziemlich neu bin, so könnte dies aussehen dumm:CSS-Float-Eigenschaft zeigt keine Höhe?

In CSS i die Eigenschaft float:left verwenden einen Gehalt links in das benachbarte Element zu positionieren, jetzt habe ich einen Container für alle Elemente die die Eigenschaft float haben. Wie kann ich das Erziehungselement anpassen, um seine Höhe an den Inhalt anzupassen?

die HTML:

<div id="page"> 
<div id="side"> 
    <p>my sidebar</p> 
</div> 
<div id="content"> 
    <p>my content</p> 
    <p>my content1</p> 
    <p>my content2</p> 
    <p>my content3</p> 
</div> 

die CSS

/* the "border:3px solid #000;" are used to make the div border visble*/ 
#page{ 
position:relative; 
width:400px; 
background-color: #F4F0EC; 
border:3px solid #000; 
} 
#side{ 

border:3px solid #000; 
float:left; 
} 
#content{ 
float:left; 
border:3px solid #000; 
} 

mit den oben genannten, die <div id="page"> aussehen wie es hat eine Höhe von 0px .... wie kann ich machen es verzerrt den Inhalt ??

, da ich zu CSS bin neu, bitte erklären, was ich falsch mache, dank

Fiddle: http://jsfiddle.net/AuSmP/

Antwort

11

Sie können für Ihre div #pageoverflow:hidden hinzufügen, die es erlaubt, um die Größe seines Inhalts zu passen.

See Working Demo.

Learn more about overflow property.

Alternativ können Sie auch <div class="clear"></div> hinzufügen und dann CSS.clear{clear:both;} das gleiche zu erreichen.

See Demo.

+0

Dude, ich war noch nie so glücklich über ein neues CSS-Attribut herauszufinden! Vielen Dank! –

3

Ändern der Position von relativ zum absoluten können Sie auch helfen
prüfen diese JSFiddle Demo

+0

+1 für eine andere Alternative zu dem Problem :) – freebird

3

Ist das, was Sie erwartet? http://jsfiddle.net/AuSmP/4/ fügen Sie einfach float: linken Stil zu #page wird den Trick beheben, oder Sie könnten auch clear: beide am unteren

+0

Gute Antwort Alex .... Weiter so ... – Wazzzy