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

An error occurred

Oops, an error seems to have occurred. We're sorry for any inconvenience this might have caused. If the error persists, feel free to tell us about it.

Social Bookmarks

Über den Autor

Ich bin Axel Scheuering und bin SEO (ich weiß, dass diese Seite SEO-Onpage-mäßig nicht perfekt ist ;) ). Bevor ich in das SEO Thema Hauptberuflich eingestiegen bin (war schon länger mein Hobby) war ich Web-Entwickler. Das ist jetzt mein Hobby. Hier sammle ich alles, was die Themen Webentwicklung und SEO angeht. 

Diese Webseite ist also eine Sammlung von Webwissen über alle Themen, die mich bei meiner Arbeit beschäftigen und gleichzeitig mein Beitrag zu Open Source.

Alle Veröffentlichungen auf dieser Webseite stehen unter der Creative Commons Lizenz.