Dynamische Höhe eines <div>

Dynamische Höhe eines <div>

Beitragvon mb » 20.02.2007, 16:06

Hallo zusammen,

ich mich zwar schon ein wenig mit CSS beschäftigt, würde mich aber nicht unbedingt als Fortgeschrittener bezeichnen. Trotzdem stelle ich meine Frage mal in diesem Bereich in der Hoffunung auf Hilfe von Leuten, die da etwas mehr Ahnung haben als ich. Ich habe folgendes Problem:

Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html style="height:100%">
  <head>
    <meta http-equiv="Content-Language" content="de" />
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

    <title>
      Test
    </title>
  </head>

  <body style="height:100%; margin:0px; padding:0px; background-color:#D6D6D6; text-align:center;">
   
    <div style="height:95%; width:960px; margin:1em auto; background-color:#D6FFFF; border:1px dotted black;">
     
      <div style="height:25px; width:100%; background-color:#FFD6FF;"> Kopfzeile </div>       
     
      <div style="height:25px; width:100%; background-color:#FFFFD6;"> Menu </div>
     
      <div style="width:100%; background-color:#D6D6FF;"> Content </div>
     
    </div>
  </body>
</html> 


Bei dem Code handelt es sich um ein Beispiel, was mein Problem ganz gut verdeutlicht. Es gibt eine Kopfzeile und eine Menuzeile, die untereinander liegen und eine feste Höhe haben sollen. Darunter folgt der Bereich für den Inhalt, der den Rest der Seite ausfüllen soll, wenn nicht genug Inhalt vorhanden ist. Ist mehr Text vorhanden, dann muss dieser Bereich "mitwachsen".

Das Beispiel ist natürliuch sehr vereinfacht und der Contentbereich soll später nicht nur aus Text bestehen. Die Frage ist einfach wie ich ein Div dazu bekomme den vorhandenen Platz im Elternelement auszufüllen.

Ich habe Bereits Lösungsansätze gefunden, aber diese basieren alle auf prozentualen Höhenangaben, die aufgrund der Kopf und Menuzeile leider nicht in Frage kommen. Gibt es eine andere Möglichkeit?

Ich hoffe jemand kann mir da vielleicht weiterhelfen. Viele Dank im vorraus :)

Gruß
Marcus

PS: Ich kann leider kein Onlinebeispiel anbieten, daher habe ich den Code direkt so gepostet, dass man sich das ganze recht einfach ansehen kann :)
mb
neu hier
 
Beiträge: 3
Registriert: 20.02.2007, 15:43

Beitragvon Laus » 20.02.2007, 17:00

eigentlich ist dein Problem recht einfach zu lösen.
html und body als Elternelemente hast du ja schon height:100% gegeben.
nun verpasst du deinem <div style="width:100%; background-color:#D6D6FF;"> Content </div> noch ein min-height:100%;
dann dürfte es zumindest im FF, Opera und IE7 schon mal klappen. Für den IE 5 - 6 verwendest du entweder über Conditional comments ein eigenes Style oder du benutzt den Stern Hack indem du dem div eine Id gibst und schreibst
Code: Alles auswählen
*html hier die id {height:100%;}


Hoffe ich konnte dir helfen

Gruß Xaver
Lachen ist kein schlechter Anfang und bei weitem das beste Ende.
(Oscar Wilde)
Benutzeravatar
Laus
Moderator
 
Beiträge: 1229
Registriert: 25.02.2006, 00:30
Wohnort: Furth im Wald

Beitragvon mb » 20.02.2007, 18:17

Hallo Xaver,
vielen dank für die Antwort, aber leider hilft das nicht so wirklich weiter. In dem Moment wo ich eine "min-height" vergebe, ragt das Content-Div unten aus dem umschließenden Div und verursacht einen Scrollbalken, obwohl nicht genug Inhalt in der Seite ist. Mein Problem ist die Mischung aus festen Angaben und Prozentwerten. Leider scheint es dafür keine richtige Lösung zu geben. Ich habe noch ein wenig im Netz gesucht und diesen Artikel hier gefunden. Mit dem habe ich mein Problem jetzt erstmal "umschifft", aber endgültig gelöst ist es noch immer nicht.
Wenn jemand da eine andere oder elegantere Lösung kennt, dann freue ich mich natürlich über jeden Hinweis :)

Gruß
Marc
mb
neu hier
 
Beiträge: 3
Registriert: 20.02.2007, 15:43

Beitragvon Laus » 20.02.2007, 19:10

Ach jetzt verstehe ich du brauchst -->footer stick alt<-- damit dein footer auch wenn du jetzt noch keinen hast :wink: immer am untersten Ende der Seite steht. Schau dir den Quelltext der dort aufgeführten Seiten mal an.
Auch -->diese Seite<-- könnte dir hilfreich sein.
Lachen ist kein schlechter Anfang und bei weitem das beste Ende.
(Oscar Wilde)
Benutzeravatar
Laus
Moderator
 
Beiträge: 1229
Registriert: 25.02.2006, 00:30
Wohnort: Furth im Wald

Beitragvon mb » 22.02.2007, 11:40

huhu,

vielen Danke für deine Hilfe. Ich habe es jetzt endlich so, wie ich es haben wollte :) Ich hoffe ich kann das Ergebnis bald mal vorführen. Es gibt sicherlich noch einige Verbessuerungen aus denen ich etwas lernen könnte ;)

Gruß
mb
neu hier
 
Beiträge: 3
Registriert: 20.02.2007, 15:43


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Dynamische Höhe eines <div>"

Zurück zu: CSS für Fortgeschrittene

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste