Eine Fußleiste hinzufügen

Unser eben fertiggestelltes Layout funktioniert hervorragend, solange wir nicht versuchen, eine Fußleiste einzufügen, die sich über alle drei Spalten erstreckt.

Falls die mittlere Spalte der Seite am längsten ist, scheint das Hinzufügen der Fußleiste auf den ersten Blick ganz einfach zu sein. Um das zu demonstrieren, erweitern wir den HTML-Code unmittelbar vor dem schließenden </div>-Tag des wrapper-Elements.

      </div> <!-- main -->
      <div id="footer">
        <p>Copyright 2006 - All Rights Reserved</p>
      </div> <!-- footer -->
    </div> <!-- wrapper -->
  </body>
</html>

In unser Stylesheet fügen wir die folgenden Regeln ein:

#footer {
  width: 100%;
  border-top: 1px solid #b9d2e3;
  border-bottom: 1px solid #b9d2e3;
  margin-top: 10px;
}
#footer p {
  font-size: 90%;
  color: #256290;
  margin: 0;
  padding: 0.2em 0 0.2em 0;
}

Aber wo ist jetzt unser Problem? Wie die folgende Abbildung zeigt, sieht im Browser alles korrekt aus.

Die Fußleiste ist ins Layout eingefügt

Abbildung: Die Fußleiste ins ins Layout eingefügt.

Lassen Sie sich nicht täuschen, hier gibt es ein Problem. Es tritt zum Vorschein, wenn Sie ein paar Artikel aus dem Hauptbereich löschen, sodass dieser kürzer wird als die Seitenleisten. Nachdem Sie die Seite neu geladen haben, sehen Sie es deutlich. Die Fußleiste schließt am Ende des Hauptbereichs an und hat sich deshalb in die Seite hinein hochgeschoben. Und, wie Sie in der folgenden Abbildung sehen, überblenden die Seitenleisten die Fußleiste. Hoppla!

Die Seitenleisten überdecken die Fußleiste

Abbildung: Die Seitenleisten überdecken die Fußleiste.

Die Fußleiste scheint unter den Seitenleisten zu liegen, die absolut positioniert sind. Damit sind sie aus dem normalen Textfluss des Dokuments herausgelöst. Das bedeutet, dass sie im Dokument nicht unmittelbar hinter dem vorhergehenden Element dargestellt werden, wie es sonst der Fall wäre. Der Hauptbereich wurde nicht positioniert, weshalb die Fußleiste direkt unterhalb des Hauptbereichs ausgegeben wird. Die Seitenleisten hingegen werden an ihren Platz positioniert und werden von dort ausgehend dargestellt, ohne Rücksicht auf andere Teile der Seite. Wenn Sie irgendein Element mit position: absolute aus dem Textfluss herausnehmen, wird dieses Element komplett unabhängig von allen anderen Seitenelementen angezeigt und diese einfach überblenden, wenn sie im Wege stehen.

Wenn Sie eine Seite entwickeln, können Sie nie davon ausgehen, dass eine Spalte immer länger sein wird als eine andere. Wenn Sie dann noch eine Fußleiste in Ihr Layout integrieren möchten, müssen Sie daher eine andere Lösung finden. Bevor wir uns aber diesen neuen Lösungsweg anschauen, müssen wir noch ein bisschen mehr über die Eigenschaft float wissen.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2006 der deutschen Übersetzung dpunkt.verlag GmbH
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS − Anspruchsvolle Websites mit Cascading Stylesheets" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19, 69115 Heidelberg