Zurück tutorials.de > Tutorials > Webmaster - Tutorials > CSS - Tutorials

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  Tutorial geschlossenGeschlossen    
  Tutorial geschlossenGeschlossen    
 
Tutorial-Optionen Ansicht
CSS-Layout mit 100%-Höhe
CSS-Layout mit 100%-Höhe
Veröffentlicht von Maik
10.07.07
CSS-Layout mit 100%-Höhe

Hallo Tutorianer!

Heute widme ich mich in diesem Tutorial einem CSS-Layout, das im Browserfenster zunächst eine Mindesthöhe von 100% einnimmt, die bei zunehmenden Inhalt mitwächst.

Basierend auf dem Layout-Modell aus meinem vergangenen CSS-Tutorial Zentriertes Layout mit drei Spalten wird nun in diesem Workshop das Layout im Viewport auf eine Mindesthöhe von 100% gestreckt.

Hierfür sind im bestehenden Stylesheet folgende CSS-Deklarationen zusätzlich erforderlich:

Code:
html, body {
height: 100%; /* Anzeigebereich in der Vertikalen auf 100% strecken */
}

div#wrapper {
position: relative;
margin: 0 auto;
width: 800px;
min-height: 100%; /* Mindesthöhe in modernen Browsern */
height: auto !important; /* !important-Regel für moderne Browser */
height: 100%; /* Mindesthöhe in IE (<7) */
background: url(3cols.png) repeat-y;
border-left: 1px solid #b8b8b8;
border-right: 1px solid #b8b8b8;
}
  1. Basis-Modell

    1.1 HTML-Code:

    Code:
    <div id="wrapper" class="clearfix">
         <div id="leftCol">leftCol</div>
         <div id="rightCol">rightCol</div>
         <div id="centerCol">centerCol</div>
    </div>
    1.2 CSS-Code:

    Code:
    * { /* Mit Universalselektor die Polsterungseigenschaften aller (Block-)Elemente auf null setzen */
    margin: 0;
    padding: 0;
    font: bold 1em verdana, sans-serif;
    }
    
    body {
    text-align: center; /* Für IE 5.01 & 5.5, um die Box #wrapper horizontal zu zentrieren */
    }
    
    div {
    text-align: left; /* text-align:center wieder aufheben, damit DIV-Inhalte linksbündig ausgerichtet sind */
    }
    
    html, body {
    height: 100%; /* Anzeigebereich in der Vertikalen auf 100% strecken */
    }
    
    /* DIV-Boxen */
    
    div#wrapper {
    position: relative;
    margin: 0 auto;
    width: 800px;
    min-height: 100%; /* Mindesthöhe in modernen Browsern */
    height: auto !important; /* !important-Regel für moderne Browser */
    height: 100%; /* Mindesthöhe in IE (<7) */
    background: url(3cols.png) repeat-y;
    border-left: 1px solid #b8b8b8;
    border-right: 1px solid #b8b8b8;
    }
    
    div#leftCol {
    width: 200px;
    float: left;
    }
    
    div#rightCol {
    width: 200px;
    float: right;
    }
    
    div#centerCol {
    margin: 0 200px;
    }
    
    
    /* clearfix zum Aufheben der Floatumgebung */
    
    .clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
    }
    
    .clearfix {display: inline-block;}
    
    /* Hides from IE-mac \*/
    * html .clearfix {height: 1%;}
    .clearfix {display: block;}
    /* End hide from IE-mac */

  2. Modell mit Header und Footer

    2.1 HTML-Code:

    Code:
    <div id="wrapper" class="clearfix">
         <div id="header">header</div>
         <div id="leftCol">leftCol</div>
         <div id="rightCol">rightCol</div>
         <div id="centerCol">centerCol</div>
         <div id="footer">footer</div>
    </div>
    2.2 CSS-Code:

    Code:
    * { /* Mit Universalselektor die Polsterungseigenschaften aller (Block-)Elemente auf null setzen */
    margin: 0;
    padding: 0;
    font: bold 1em verdana, sans-serif;
    }
    
    body {
    text-align: center; /* Für IE 5.01 & 5.5, um die Box #wrapper horizontal zu zentrieren */
    }
    
    div {
    text-align: left; /* text-align:center wieder aufheben, damit DIV-Inhalte linksbündig ausgerichtet sind */
    }
    
    html, body {
    height: 100%; /* Anzeigebereich in der Vertikalen auf 100% strecken */
    }
    
    /* DIV-Boxen */
    
    div#wrapper {
    position: relative;
    margin: 0 auto;
    width: 800px;
    min-height: 100%; /* Mindesthöhe in modernen Browsern */
    height: auto !important; /* !important-Regel für moderne Browser */
    height: 100%; /* Mindesthöhe in IE (<7) */
    background: url(3cols.png) repeat-y;
    border-left: 1px solid #b8b8b8;
    border-right: 1px solid #b8b8b8;
    }
    
    div#header {
    height: 80px;
    background: #fff;
    border-bottom: 1px solid #b8b8b8;
    }
    
    div#leftCol {
    width: 200px;
    float: left;
    }
    
    div#rightCol {
    width: 200px;
    float: right;
    }
    
    div#centerCol {
    margin: 0 200px;
    }
    
    div#leftCol, div#rightCol, div#centerCol {
    padding-bottom: 25px;
    }
    
    div#footer {
    clear: both;
    position: absolute;
    bottom: 0;
    width: 800px;
    height: 20px;
    background: #fff;
    border-top: 1px solid #b8b8b8;
    }
    
    
    /* clearfix zum Aufheben der Floatumgebung */
    
    .clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
    }
    
    .clearfix {display: inline-block;}
    
    /* Hides from IE-mac \*/
    * html .clearfix {height: 1%;}
    .clearfix {display: block;}
    /* End hide from IE-mac */
Die kompletten Beispiele (HTML-Code incl. Stylesheet und Grafik) mit zwei weiteren Varianten hänge ich hier als ZIP-Datei an.


mfg Maik


Nachtrag - 20.12.2008:

Nach Veröffentlichung dieses Tutorials im Sommer '07 wurde ich dieses Jahr im CSS-Forum schon einige Male darauf angesprochen, dass sich in den modernen Browsern (FF, Opera, Safari, usw.) plötzlich zwischen dem unteren Layout- und Fensterrand ein Abstand ergibt, sobald der Seiteninhalt die Höhe des Viewports (Anzeigebereich im Browserfenster) überschreitet, und die Seite nach unten gescrollt wird.

Kurz vor Ablauf der Jahresfrist find ich nach diversen Antworten im Board heute endlich Zeit, die Lösung auch hier vorzustellen

Code:
.clearfix:after {
content: ".";
display: block;
height: 0;
font-size: 0;
clear: both;
visibility: hidden;
}
Mit der Regelerweiterung font-size:0 wird die Schriftgröße für den dynamisch erzeugten Inhalt (content:".") auf null gesetzt, und somit die unerwünschte Lücke geschlossen.

Da in meinen Beispielseiten des ersten Attachments "3cols_height100%.zip" diese Formatierung fehlt, möchte ich Euch darauf hinweisen, sie in den Selektor .clearfix:after zu übernehmen, oder ab sofort die gefixte Version herunterzuladen - vielen Dank
__________________
  • Ich biete keinen Support via PN, Skype, ICQ & Co - dafür ist das Forum da!
  • Beantwortete Fragen bzw. gelöste Themen bitte als erledigt markieren - vielen Dank!
______________________________________________________________________________________________
Interpol und Deutsche Bank, FBI und Scotland Yard, Finanzamt und das BKA haben unsere Daten da.

[ Kraftwerk - Computerwelt - 1981 ]
Angehängte Dateien
Dateityp: zip 3cols_height100%.zip (4,8 KB, 2244x aufgerufen)
Dateityp: zip 3cols_height100%-fixed-.zip (5,3 KB, 390x aufgerufen)

Bewertung
 
Ausführlichkeit
82%82%82%
4,1
Verständlichkeit
86%86%86%
4,3
Kompetenz
94%94%94%
4,7
Gesamteindruck
90%90%90%
4,5
5 User bewerteten mit 88% durchschnittlich

Tutorial-Optionen
 



Tutorial-Optionen
Ansicht
Ähnliche Themen
 
Tutorial Autor Forum Kommentare Letzter Beitrag
CSS Layout, Submenu 100% Höhe Giggles91 CSS 10 04.03.07 20:38
Mehrspaltiges Layout: Probleme mit min-height:100% bzw height:100% gunwald CSS 0 22.01.07 20:00
Problem mit 100%+ Höhe NoGFX CSS 2 30.08.06 12:16
Seite immer mit 100% Höhe holger2 CSS 3 20.05.06 09:54
[Css-Layout] 100% mit 10px Rand Danielku15 CSS 2 02.04.06 18:53
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 134
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 261
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 149
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 100
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 190
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 79,79%
150 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 20,21%
38 Stimmen
Stimmen gesamt: 188
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,16842 Sekunden mit 33 queries