AW: Bitte nicht direkt erschlagen
Hi Sirschmock,
ohne großarteig auf dein spezifisches Design einzugehen zu müssen kann ich dir schon vorweg sagen: Entwerf dein Design im PS einfach so dass es entsprechende Flexibilität aufweißt.
Des weiteren würd ich mir bevor ich markup schreib erst mal ganz genau das Design anschauen und dann entscheiden wie du das im xHtml&CSS am besten umsetzt.
Die meisten Probleme wurden irgenwann schon mal gelöst, so dass sich einige schöne Basistemplates ergeben.
Fang an dir alles zusammengliedern, was in den Header kommt, was in den Mainbereich inklusive linker und rechter Seitenspalte und was in den Footer (falls Bedarf is) soll.
Dann baust du dir entsprechend erstma einen div-Container der für die Zentrierung zuständig ist.
In dem Container setzt du dir erstmal die 4 Haupt-divs. Also Header,Navigation,Main,Footer.
Nun kommt der Trick 17 um den Rechenfehler der älteren IEs auszugleichen: Bevor du nun schon Inhalts-divs in deine Boxen packst, setzt du in jede noch mal eine div. Also beispielsweise:
<div id="header"><div id="header-innen">...</div></div>
Die äußeren nimmst du her für die Postitionierung und die Bestimmung der Breite und die inneren nimmst du für die Bestimmung der Innenabstände.
Für deine Horizontale Navigation wirds etwas knifflig wenn mans noch nicht kennt. Da du ja festgesetzte Breiten für die einzelnen Nav-Punkte hast gibts da mindestens zwei annehmbare Möglichkeiten. Beide setzen voraus, dass du die navigation mit einer <ul> umsetzt.
Die eine Möglichkeit is alle <li>-Elemente innerhalb dieser Liste auf {display:inline} zu setzen, mit anderen lässt du die <li>s links floaten.
Ich geb dir hier mal 2 interessante Links zu dem Thema:
Link1(display:inline) :
http://www.akademie.de/programmierung-administration/html-und-css/tipps/css-stylesheet-praxis/horizontale-navigation-mit-css.html
Link2(li-floater):
Cascading Style Sheets { Tutorial : Horizontal-Navigation mit gleitenden Hintergründen }
Dann machst du dich an den Mainbereich. Du hast ja ein Dreispalten layout wenn ich das richtig verstanden habe. Also setzt du zu erstmal 3 divs in deinen main: sidebar-left, center, sidebar-right.
Alle 3 Container lässt du left-floaten und weißt ihnen die gewünschte Breite zu. Du könntest jetzt noch mit spielereien arbeiten, z.b. dem center negative margins für die rechte spalte zuweisen und so, muss aber nich sein.
Wenn du die 3 left floaten kann du entweder sagen dass dein div#main ein overflow:hidden bekommt, damit würdest du festlegen, dass main seine innenliegenden div umschließt obwohl diese ja floaten.
Bevor du Inhalt-Divs in die Boxen packst, denk an unsern Trick 17: Bau in jedem wieder einen innen-Div für die innenabstände, zwecks Rechenfehler älterer IEs.
Zum Footer werd ich jetzt hoffentlich nichts mehr sagen müssen.
Das is nicht als Komplettlösung zu sehen sondern als erster Ansatz oder auch Inspiration. Endlösungen würden den Rahmen hier sprengen, davon mal ab, dass ich normalerweise meine Brötchen mit Endlösungen verdiene.
Trotzdem weiß ich wie es am Anfang halt ist, darum geb ich auch gern mal Starthilfe.
Ich geb dir einen Rat mit auf deinem Weg: Guck dir ab wie es die "Großen" machen und schau was du davon für dich am besten brauchen kannst. Es gibt im Endeffekt immer zwei Grundansätze: 1.) du baust dein Theme von vorherein so auf, dass es ein Minimum an Browserbugs auslöst und reduzierst so die Notwendigkeit der Nutzung von Browserweichen oder
2.) Du machst dich soweit vertraut mit den Tücken der alten IEs, dass du ungefähr weißt, wann, wie und wo du welche Weichen setzt.
Ich geb dir nun zum Schluss noch einige Websites auf den Weg, die entweder sehr gut durchgereifte html/css-Frameworks bieten welche du entweder zum Designen oder einfach zum abschauen der Kniffe und lernen hernehmen kannst und auch welche die das Thema ganz herrvoragend behandeln:
YAML - ein Framework für die saubere Umsetzung von Mehrspaltenlayouts in jeder Komplexität unter Berücksichtigung aller möglich Browserbugs. Mit dem Buch dazu hab ich sehr viel von meinem heutigen Wissen gelernt.
BlueprintCSS ist ebenfalls ein Framework welches auf einem sogenannten Grid-system beruht (Raster). Das ganze ist extrem tricky gehandelt und echt extrems flexibel.
- ebenfalls ein gridbasiertes Layout welches sich schon extremst gut an Regeln der Semantik hält.
Website von Eric Meyer - einer der großen CSS-Gurus, der zwar in englsich schreibt, aber definitiv viele wirklich gute Lösungsansätze für verschiedenste Layoutprobleme mit CSS darlegt.
A List Apart Ebenfalls eine "Muss"-Lesezeichen für Webworker bzw. CSS-Layouter. Auch englischsprachig
Als deutsche Seiten möchte ich dir die oben schon erwähnte
theStyleworks und natürlich
css4you noch mitgeben.
Ich wünsch dir noch ein frohes Schaffen und gutes Gelingen für dein Projekt.