Sönke Tesch: + Positionierung: Problem ??

Beitrag lesen

ich möchte eine Seite (die dann per PHP angzeigt werden soll, das nur nebenbei) in drei Bereiche aufteilen:

|----------------------------------|

Kopfbereich
Body (content)
----------------------------------
Footer
----------------------------------

So soll's ungefähr aussehen; dabei ist der obere Kopf- und der untere Footer-Bereich per CSS (position: absolute; bottom: 0px bzw. top: 0px; ...) positioniert.

der mittlere Bereich (Body) soll immer den restlichen übrig zur Verfügung stehenden Bereich in der Mitte bekommen.
In diesem Bereich soll u.a. ein Menü angezeigt werden (in einem div oder span -Bereich):

  1. wie kann ich diesem Menü die genaue Start-Pos vom oberen Rand mitteilen ?

Falscher Ansatz. Wenn Dein Kopfbereich als erstes in der Datei steht, wird er auch automatisch ganz oben angezeigt, d.h. das position:absolute;top:0 ist vollkommen überflüssig.
Gleiches gilt für den Fußbereich. Wenn Du diesen (sinnigerweise) als letztes im HTML-Dokument hast, wird er auch ganz unten angezeigt - position:absolute;bottom:0 ist ebenfalls überflüssig.

Du kannst ganz einfach

<div>
  Mein schönstes Ferienerlebnis
  </div>
  <div>
  Ferien bei Oma und Opa.
  </div>
  <div>
  Geschrieben von Michael.
  </div>

schreiben, ohne position einsetzen zu müssen.

  1. Zum anderen würde ich gerne im Body-Bereich in der Mitte davon einen kurzen Text von oben und unten zentrieren.

Das wird sehr schwierig werden, weil CSS-formatierte Dokumente die Fensterhöhe nicht kennen. Deine drei Bereiche werden immer nur so hoch sein, wie es benötigt wird (Ausnahme: gesetztes min-height).
Somit wird auch Dein mittlerer Bereich nur die Höhe einer Zeile haben, wenn nur eine Zeile drin ist - Zentrieren sinnlos.

Frage: Wie kann ich (einfach) den zur Verfügung stehenden Platz für den Body-Bereich in Erfahrung bringen ?

Du könntest die Höhe des Fensters sowie der Kopf- und Fußbereiche per Javascript/DOM auslesen und dem mittleren Bereich eine entsprechende Mindesthöhe verpassen. Dummerweise kennt der IE min-height nicht (zumindest nicht in Version 5, ob's in 6 besser ist weiß ich nicht)..

Gruß,
  soenk.e