Hallo,
du hast vergessen, dem übergeordneten Elementen (html und body) eine Breite von 100% zuzuweisen.
Also
html, body { width: 100%;
}
Wobei du überlegen solltest, ob du wirklich eine Breite von 100% haben möchtest. Lange Textzeilen sind etwas unangenehm zu lesen. Besser wäre es die maximale Breite des Inhalts zu beschränken. Ein Beispiel:
html { width: 100%;
}
body { max-width:60em;
margin-left:auto;
margin-right:auto;
}
Das funktioniert meines Wissens nach in allen Browsern außer dem IE6, der hoffentlich bald vom letzten Rechner verschwunden ist...
Die Margins zentrieren den Body-Bereich, wenn nötig.
Hat jemand Tipps zu meinem Layout, wie ich in Zukunft einfacher 3 Spalten nebeneinander bekomme die sich zu einander skalieren?
Drei Spalten bekommst du am einfachsten so hin:
div#links { width:10em;
float:left;
}
div#rechts { width:10em;
float:right;
}
Die Spalten sehen dann im HTML-Code so aus:
...
<div id="links">
...
</div>
<div id="rechts">
...
</div>
<div id="mitte">
...
</div>
Die Div-Elemente sind gegebenenfalls durch ein geeigneteres Body-Element zu ersetzen. Wenn du z.B. links eine <ul/> für die Navigation hast, brauchst du die nicht extra in ein <div/> stecken. Wenn unter der <ul/> natürlich noch was anderes stehen soll, musst du das ganze in ein <div/> stecken.
Außerdem sollten die IDs durch sinnvollere ausgetauscht werden (z.B. navigation, news...).
Gruß
Stareagle