So hi, ich weiß nicht ob dies möglich ist, aber ich wollte einfach mal fragen. Und zwar hab ich ein Div, das sich an den Bildschirm anpasst. Funktioniert soweit auch super. Im Moment hat es genauso wie Body und html eine Höhe von 100% (im CSS festgelegt) und eine Hintergrundgrafik, die sich in y Richtung wiederholt. Dieses Div passt sich auch dem Bildschirm an, nimmt aber immer die volle Breite des Bildschirmes an.Ist es durch eine kleine Rechenaufgabe (von mir aus auch mit PHP) möglich, dem Div die Höhe von: 100% - x px ; x px steht für irgendeine Höhe.
Beispiel:
Ich will das ein Div die Höhe des Ganzen(im Beispiel jetzt 800px) minus 100 px hat. Also soll das Div später eine Höhe von 700px haben. Bei Anderen ist das Ganze aber nicht 800 px sondern nur 600 px, da die eine andere Auflösung haben.
Ist sowas möglich, das man durch Javascript oder CSS oder PHP oder was weiß ich, die Höhe des Ganzen (100%) minus irgendeine angegebene Höhe rechnet, und somit auf jedem Bildschirm der Welt, das gleiche Aussehen hat?
Mein Problem ist nämlich: Ich habe eine Header mit 100 px Höhe. Unterdrunter ist das Div, das den Rest des Bildschirmes füllen soll. Im FF macht er alles richtig und die höhe des Ganzen stimmt, im IE muss man aber mit "border-top: 100px solid #fff" das untere Div so weit runter schieben, das es 100% hat und nicht vom Header überdeckt wird.
Das Border-top ist zwar eine möglichkeit, aber aufgraund von durchsichtigen Grafiken auf der Seite haben die in dem Fall einen weisen Hintegrund und sind im IE6 nicht durchsichtig (Da hinter den Grafiken die weise Border ist).
Ich hab zwar schon versucht, anstatt der Border ein margin-top zu machen, allerdings interpretiert der IE das ganze dann flasch: er macht den Div zwar 100%, aber durch das margin verschiebt er die 100% um 100px nach unten, weshalb unter dem Footer 100px des Divs noch rausschauen (wenn man scrollt).
Ich hab mir deshalb gedacht, ich nehm für den IE 6 ein eigenes CSS und mach dort die Höhe 100% - 100px und einen margin-top: 100px.
Leider kann ich kein Quelltext hier zeigen, da es dort im Mom noch einige Probleme gibt. Aber das ist Ausschnittsweise und dort wo auch das problem mit dem IE ist:
Beispiel:
Ich will das ein Div die Höhe des Ganzen(im Beispiel jetzt 800px) minus 100 px hat. Also soll das Div später eine Höhe von 700px haben. Bei Anderen ist das Ganze aber nicht 800 px sondern nur 600 px, da die eine andere Auflösung haben.
Ist sowas möglich, das man durch Javascript oder CSS oder PHP oder was weiß ich, die Höhe des Ganzen (100%) minus irgendeine angegebene Höhe rechnet, und somit auf jedem Bildschirm der Welt, das gleiche Aussehen hat?
Mein Problem ist nämlich: Ich habe eine Header mit 100 px Höhe. Unterdrunter ist das Div, das den Rest des Bildschirmes füllen soll. Im FF macht er alles richtig und die höhe des Ganzen stimmt, im IE muss man aber mit "border-top: 100px solid #fff" das untere Div so weit runter schieben, das es 100% hat und nicht vom Header überdeckt wird.
Das Border-top ist zwar eine möglichkeit, aber aufgraund von durchsichtigen Grafiken auf der Seite haben die in dem Fall einen weisen Hintegrund und sind im IE6 nicht durchsichtig (Da hinter den Grafiken die weise Border ist).
Ich hab zwar schon versucht, anstatt der Border ein margin-top zu machen, allerdings interpretiert der IE das ganze dann flasch: er macht den Div zwar 100%, aber durch das margin verschiebt er die 100% um 100px nach unten, weshalb unter dem Footer 100px des Divs noch rausschauen (wenn man scrollt).
Ich hab mir deshalb gedacht, ich nehm für den IE 6 ein eigenes CSS und mach dort die Höhe 100% - 100px und einen margin-top: 100px.
Leider kann ich kein Quelltext hier zeigen, da es dort im Mom noch einige Probleme gibt. Aber das ist Ausschnittsweise und dort wo auch das problem mit dem IE ist:
Code:
html {
height:100%;
max-height:100%;
padding:0;
margin:0;
border:0;
}
body {
height:100%;
max-height:100%;
padding:0;
margin:0;
border:0;
text-align:center;
background-color: #000000;
font-size: 13px;
background-attachment: fixed;
background-position: left top;
background-image: url(../images/back.jpg);
background-repeat: repeat-x;
}
#Container { /*Div cder alles umrandet*/
width:940px;
position:relative;
margin:0 auto;
min-height:500px;
height:100%;
text-align:left;
z-index: 3;
}
#head {
position:absolute;
left:0;
top:0;
width:940px;
min-width:940px;
height:100px;
z-index:5;
}
* html #maincontent {
top:0;
bottom:0;
height:100%;
border-top:100px solid #fff; /*Leider geht hier das margin-top nicht, da sich sonst unter dem Footer die 100px rausschauen*/
}
#maincontent {
display:block;
overflow:hidden;
position:absolute;
z-index:3;
top:170px;
bottom:20px;
width:940px;
left:0;
background:url(grafik.gif) repeat-y;
}
#foot {
position:absolute;
left:0;
bottom:0;
width:940px;
height:30px;
z-index: 5;
background-image: url(../images/foot.gif);
background-repeat: repeat-x;
background-position: left top;
}