• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

CSS - Float und Clear in der Praxis - ein kleines Tut

dertypdernixkan

New member
Oft liest man Fragen von Anfängern die sich auf das Positionieren von DIV's beziehen und das anschließende Problem, dass nachfolgende Elemente "komisch" dargestellt werden. Das liegt am Floating und oft, wenn nicht sogar immer am fehlenden Clearing.

Hier mal eine kleine Anleitung wie man mit float und clear arbeiten kann. In diesem Beispiel gibt es 6 DIV's, einen äußeren (kann der body sein) einen Header, 3 mittlere welche mit einer minmalen und maximalen height versehen sind und den Footer. Als kleine Info, die 3 mittleren Blockelemnte (DIV) passen sich dem Inhalt an und behalten trotzdem ihre optischen Regeln ein.

Hier das html: (ohne das Grundgerüst)

HTML:
<div id="aussen">
         <div id="head"></div>

         <div id="1" class="middl"></div>

         <div id="2" class="middl"></div>

         <div id="3" class="middl"></div>

         <div id="4" class="clear_both"></div>
</div>

und hier die css:

Code:
<style>
#aussen {
    float: left;
    position: relative;
    top: 30px;
    left: 30px;
    width: 800px;
    min-height: 300px;
    max-height: auto;
    border: 1px solid black;
}

#head {
    float: left;
    clear: both;
    position: relative;
    width: 767px;
    min-height: 50px;
    max-height: auto;
    margin: 10px;
    padding: 5px;
    border: 1px solid black;
}

.middl {
    float: left;
    position: relative;
    width: 244px;
    min-height: 150px;
    max-height: auto;
    margin: 10px;
    border: 1px solid black;
}

.clear_both {
    float: left;
    clear: both;
    position: relative;
    width: 767px;
    min-height: 50px;
    max-height: auto;
    margin: 10px;
    padding: 5px;
    border: 1px solid black;
}
</style>

Hier seht ihr wie es normal aussieht. Recht unspektakulär, zugegeben....
lo.1.JPG

..der "Clou" folgt aber sofern einer der mittleren 3 DIV's einen längeren Inhalt bekommt!
lo.2.JPG

Das funzt auch mit mit div 2und 3
lo.3.JPG

Bei diesem Beispiel habe ich den mittleren DIV's die Klasse "middl" -worüber ich sie im CSS-teil anspreche- und absteigend eine ID von 1 zu 2 zu 3 verpasst. Im Code dazu steht unter "middl" "float: left;" welches dann in der Klasse ".clear_both" mit dem Befehl "clear: both;" auflöse.

Und damit halten die 3 mittleren immer denselben Abstand zum Footer (class="clear_both") ein.

Eine weitere Möglichkeit stellt das Clearing mit html dar. Dazu kann man direkt unter dem zu clearenden Element ein <br clear="all"> setzen. Das lohnt sich wenn der Content aus einer Datenbank geholt wird, bspw. bei php-Gästebüchern.

Falls das jemals jemandem helfen sollte, bitte sehr ;)
 
Zurück
Oben