Vorgehensweise
Das alles umschließende Element #wrap
bekommt keine feste Breite sondern nur einen leichten Randabstand. Dieses Elemetn passt sich somit der Breite des Viewports an.
Die Randspalte #sidebar
steht in der Code-Reihenfolge vor dem Inhaltsbereich #content
. #sidebar
bekommt eine Breitenangabe und wird mit float
auf die gewünschte Seite gebracht.
Der Bereich #content
bekommt einen Randabstand mind. in der Breite der Randspalte.
Die Fußzeile #footer
bekommt die clear
-Eigenschaft (Richtung analog Randspalte) und sorgt so dafür, dass sich der umschließende #wrap
auch um das gefloatete Element ausdehnt.
Minimales CSS
* {
margin:0;
padding:0;
}
#wrap {
margin-left:5%;
margin-right:5%;
}
#sidebar {
width:12em;
float:left;
background-color:#ccc;
}
#content {
margin-left:12em;
}
#footer {
clear:left;
}
Minimales HTML
<div id="wrap">
<div id="header">
</div>
<div id="main">
<div id="sidebar">
</div>
<div id="content">
</div>
</div>
<div id="footer">
</div>
</div>