• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Höhe der Seite anpassen

Status
Für weitere Antworten geschlossen.

glurak15

Neues Mitglied
Guten Abend.
Ich habe ein problem mit meiner Seite. Ich habe für meine Seite, die bisher noch nicht online war, das Layout von Framesets auf Div Elemente gewechselt. Bis jetzt habe ich das Layout so hinbekommen, wie ich es möchte, allerdings stimmt die grösse noch nicht. Ich möchte am oberen rand der Seite einen Banner von 100px einfügen. Dieser Platz ist bereits reserviert. Nun möchte ich, dass sich die Grösse der Navigation und der Anzeige der restlichen Seiten dynamisch an das Fenster anpasst. Was muss ich da für Werte angeben?
Info: Die klassen bgcolorize, bgpicture und trennlinie ändern nur die Hintergrundfarbe und befinden sich in einer anderen Datei
Layoutseite:
Code:
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css">
        <link rel="stylesheet" type="text/css" href="style/feuer/glurak.css">
        <link rel="stylesheet" type="text/css" href="style/feuer.css">
        <script type="text/javascript" language="JavaScript" src="skripte/skripte.js"></script>
    </head>
    <body onload="init();">
        <div id="container">
            <div id="banner">
                [%Banner%]
            </div>
            <div id="Wraper">
                <div id="navigation" class="bgcolorize">
                    [%Navigation%]
                </div>
                <div id="trennlinie" class="trennlinie">
                </div>
                <div id="main" class="bgcolorize bgpicture">
                    [%Main%]
                </div>
            </div>
        </div>
    </body>
</html>
CSS:
Code:
body{
    margin:0;
    padding:0;
}
#container{
    
}
#banner{
    height:100px;
}
#navigation{
     
     float:left;
     width: 173px;
     height: 100%;
    overflow:scroll;
    padding-left: 5px;
}
#trennlinie{
    float:left;
    width: 22px;
    height: 100%;
}
#main{
    height: 100%;
    width: 829px;
    overflow:scroll;
    padding-left: 5px;
}
#wraper{
    float:left;
    width:100%;
}
.menu{
    display: none;
}
.menu:active{
    display:;
}
 
Zuletzt bearbeitet:
Ich glaube du meinst etwas anderes:
#Navigation und #main sollen zusammen den gesamten, vertikalen Platz unter #banner einnehmen.
Wenn du das meinst, geht das so nicht.
height:100% bezieht sich auf das Elterelement. Wenn dieses keine Höhe hat, ist height:100%; = 0.

Meistens geht es gar nicht um die echte Höhe der Elemente sondern nur um den optischen Anschein.
Vielleicht machst du mal eine Grafik wie es aussehen soll. Mit kleinen Tricks kann beinahe jede Anordnung ab IE5 simuliert werden.

Das ist meistens kein technisches Problem sondern eher eine Frage der Fantasie.

Je nach Layout, währe es aber trotzdem wichtig den verwendeten doctype zu kennen.
 
Zuletzt bearbeitet:
Wenn #navi, #trennlinie und #main nebeneinander stehen und gleich hoch sein sollen, ist das vermutlich ein Fall für Faux Columns: Faux Columns

Auf #trennlinie kannst du verzichten, wenn du bei #main einen entsprechenden margin-left von 200px verwendest.
 
Diese Fauxcolumns Seite hat mir leider nicht viel geholfen, da dort entweder nichts oder alles Dynamisch angezeigt wird.
Also, die Elemente sollten so angeordnet sein:
Oben: Banner. Fixe Breite und Höhe
Unten: Navigation. Fixe Breite und Dynamische Höhe
Daneben: Trennlinie. Fixe Breite und Dynamische Höhe
Daneben: Main. Fixe Breite und Dynamische Höhe.
Mein problem ist, dass ich nicht weiss, was ich für einen Wert angeben muss, um der Höhe der unteren Elemente den restlichen Platz des Fensters zuzuweisen.
Übrigens, bitte keine IE Spezifischen lösungen, die dann bei anderen Browsern falsch dargestellt werden, da ich diesen nur noch verwende, wenns wirklich nötig ist.
 
..
Mein problem ist, dass ich nicht weiss, was ich für einen Wert angeben muss, um der Höhe der unteren Elemente den restlichen Platz des Fensters zuzuweisen....
Übrigens, bitte keine IE Spezifischen lösungen, die dann bei anderen Browsern falsch dargestellt werden, da ich diesen nur noch verwende, wenns wirklich nötig ist.
Ich würde es so aufbauen:
  1. body und #container eine Höhe von 100% geben.
  2. #wrapper eine Mindesthöhe von 100%.
  3. Innerhalb von #wrapper eine weitere Box mit einem padding-top: 100px; geben.
  4. #banner am oberen Fensterrand absolut positionieren
Die gefloateten Boxen bekommst du nicht gleich lang.
Deswegen wird "faux columns" verwendet.

Hier ein Beispiel:
Zweispalter faux columns

#trennlinie habe ich entfernt. Die Linie habe ich mit in die Grafik gezeichnet.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben