Du bist hier: Startseite > WebWissen > CSS > CSS 100 Prozent Layout
Folge mir bei Twitter...

und bleibe auf dem Laufenden, was die Themen SEO und Webentwicklung angeht!

Samstag, 01. August 2009 um 11:13 Uhr

CSS 100% Layout

Sicher habt ihr schon Webseiten gesehen, die sich dynamisch an die Fenstergröße anpassen. Hierbei ist die Höhe der Webseite immer genauso hoch, wie die des Browserfensters. Und die Breite passt sich dynamisch an die des Fensters an.

Hier wird erklärt, wie man dies in HTML und CSS aufbaut.

 

Das Markup

Zuerst bauen wir uns eine HTML-Seite zusammen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>100% Layout</title>
  <link href="/styles.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <div id="page">Content</div>
  </body>
</html>

In Zeile 6 binden wir die CSS Datei ein, welche wir später noch erstellen. Sie enthält die nötigen Infos für das 100% Layout.

Wir haben auf der Seite ein einziges Div, das dann eine dynamische Höhe bekommt:

 Das CSS

html, body { height:100%; margin:0; padding:0; }
#page { background:#FFFF99; border-left:1px solid #FFC999; border-right:1px solid #FFC999; margin:0 100px; min-height:100%; }

In Zeile 1 müssen wir zuerst die Höhe von html und body auf 100% (gesamte Fensterhöhe bzw. Viewport) setzen. Denn das Div ist im body und es soll die Höhe von 100% haben. Wenn body aber nicht eine Höhe von 100% hat, wären die 100% des Divs nur die Höhe des Elternelements body, was dann geringer wäre.

In Zeile 2  sagen wir dem Browser, dass dieses Div eine Mindesthöhe (min-height) von 100% haben soll. Außerdem werden hier noch Angaben zur Hintergrundfarbe, den Rahmen und der vertikalen Ausrichtung gemacht. Man beachte, dass wir hier keine konkrete Breitenangabe machen, denn die Webseite soll sich ja an der Breite des Fensters orientieren. Deshalb verwenden wir margin:0 100px, was bedeutet, dass die Webseite rechts und links immer 100px Abstand zum Fensterende hat, egal wie breit dieses ist.

Diese Vorgehensweise funktioniert in allen gängigen Browsern, außer im Internet Explorer. Deshalb müssen wir noch ein bisschen weiterarbeiten.

Zusätze für den IE

Zuerst müssen wir noch sehen, ob der Browser der IE ist. Dies machen wir mit einem kleinen Hack in unserer HTML Datei:

  <title>100% Layout</title>
  <link href="/styles.css" rel="stylesheet" type="text/css">
  <!--[if IE]>
      <link href="/styles_ie.css" rel="stylesheet" type="text/css">
  <!endif-->
  </head>

Mit if IE decken wir den Fall ab, dass jemand mit einem "schlechten" Browser unterwegs ist. In diesem Fall liefern wir noch eine zusätzliche CSS-Datei aus - die styles_ie.css.

Diese sieht so aus:

 
* html #page { height:100%; } 

Weil der IE min-height nicht kennt, müssen wir es so machen.

Somit haben wir ein browserübergreifendes 100% Layout geschaffen, dass überall gleich aussieht.

Kommentare

Name *
Code   
ChronoComments by Joomla Professional Solutions
Kommentar abgeben

Tags

100%  hundert prozent  min-height  min-width  

Tweets

Social Bookmarks

Über den Autor

Mein Name ist Axel Scheuering. Während meines Studiums (Wirtschaftsinformatik) habe ich meine Brötchen als Webentwickler verdient. Mmhh lecker Brötchen. Seit ich mit dem Studium fertig bin, arbeite ich hauptberuflich im Bereich Suchmaschinenoptimierung.

2009 habe ich bei der Google Online Marketing Challenge teilgenommen und mich zusammen mit meinem Team gegen über 2.000 Teams aus der gazen Welt durchgesetzt. Wir haben unter den "Final 15" weltweit den 2. Platz erreicht und dafür einen Marketingpreis erhalten :)

Diese Site betreibe ich nicht mehr aktiv weiter. Mein neues Blog findest du unter Methode-Web.de

Inhalte dort sind Webentwicklung, Suchmaschinenoptimierung, das Web allgemein und Literaturtipps.