variables CSS-Layout

Status
Nicht offen für weitere Antworten.
Habe mal das erste Beispiel aus dem empfohlenen CSS-Tutorial aufgegriffen und in dein 'variables' CSS-Modell eingearbeitet, so daß die ScrollBox nun auch im IE korrekt positioniert wird und mit den dynamischen / variablen Dimensionen ausgestattet ist.

Achtung: dieser Lösungsansatz setzt voraus, daß im IE Javascript aktiviert ist.

Auf diese Weise lässt sich das "Restmaß" der Blockbreite und -höhe rechnerisch ermitteln:

Code:
#bodycontenttext {
/* vorhandene CSS-Eigenschaften */
/* Für IE */
height: expression((document.body.clientHeight - 192) + "px");
                          /* top-Wert + bottom-Wert = 192 */
width: expression((document.body.clientWidth - 242) + "px");
                          /* left-Wert + right-Wert = 242 */
}
Desweiteren habe ich den Bug mit dem verschobenen Logo gefixt.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html>
<head>
<meta name="linked-style-sheet-name" value="Embedded style sheet">
<meta name="window-location" value="{ 25 25 838 1181 }">
<meta name="targetted-browsers" value="NS4.0 NS6 IE4.0 IE5">
<title>hessenkamp</title>
<style type="text/css">
html {
height:100%;
max-height:100%;
padding:0;
margin:0;
border:0;
background:#ffffff;
font-size:76%;
font-family: helvetica, arial, geneva, sans-serif;
/* verstecke overflow:hidden für IE5/Mac */
/* \*/
overflow: hidden;
/* */
}

body {
height:100%;
max-height:100%;
overflow:hidden;
padding:0;
margin:0;
border:0;
}

.navigation {
color: #FFFFFF;
font-family: helvetica, arial, geneva, sans-serif;
font-size: 12
}

#bigcontainer {
background-color: #961734;
bottom: 5px;
right: 5px;
left: 5px;
position: fixed;
top: 5px;
z-index: 1
}

#kopf {
margin:0;
position:absolute;
top:1px;
left:1px;
right:1px;
height:85px;
background-color: #961734;
/*background-image: url(hintergrundoben.png);*/
/*background-position:0 0;
background-repeat:no-repeat;*/
z-index:6;
overflow:hidden;
color:#ffffff;
/* Für IE */
width: expression((document.body.clientWidth - 2) + "px");
                          /* left-Wert + right-Wert = 2 */
}

#logo {
background-color: #961734;
position:absolute;
right: 0px;
top: 0px;
height:85px;
z-index: 7;
}

#foot {
position:absolute;
margin:0;
bottom:1px;
left:1px;
right:1px;
height:25px;
font-size:1em;
z-index:6;
overflow:hidden;
background-color: #961734;
color:#fff;
/* Für IE */
width: expression((document.body.clientWidth - 2) + "px");
                          /* left-Wert + right-Wert = 2 */
}

#hintergrundbody {
background-color: #ffffff;
background-repeat: repeat-y;
left: 1px;
right: 1px;
top: 1px;
bottom: 1px;
position: absolute;
z-index: 3
}

#navigation {
background-color: #ffffff;
border: 1px #961734 solid;
left: 5px;
padding:5px;
position: absolute;
top: 130px;
width: 190px;
z-index: 7
}

#navioben {
z-index: 5;
background-color: #ffffff;
color:#000000;
padding: 3px;
height: 17px;
right:20px;
top: 106px;
border: 1px #961734 solid;
position: absolute
}

#content {
position:absolute;
z-index:4;
top:130px;
bottom:60px;
left:220px;
right:20px;
background:#961734;}

#bodycontenttext {
overflow:auto;
position:absolute;
/*padding: 10px;*/
z-index:6;
background-color: #ffffff;
top:131px;
bottom:61px;
left:221px;
right:21px;
border: 1px #961734 solid;
/* Für IE */
height: expression((document.body.clientHeight - 192) + "px");
                          /* top-Wert + bottom-Wert = 192 */
width: expression((document.body.clientWidth - 242) + "px");
                          /* left-Wert + right-Wert = 242 */
}

#navscho {
background-image: url(scho.gif);
background-repeat: no-repeat;
height: 8px;
left:207px;
position: absolute;
top: 130px;
width: 5px;
z-index: 7
}

#navschre {
background-image: url(schre.gif);
background-repeat: repeat;
bottom: 245px;
left:207px;
position: absolute;
top: 138px;
width: 5px;
z-index: 8
}

#navschru {
background-image: url(schru.gif);
background-repeat: no-repeat;
height: 6px;
right:801px;
position: absolute;
bottom: 239px;
width: 6px;
z-index: 9
}

#navschlu {
background-image: url(schlu.gif);
background-repeat: no-repeat;
height: 6px;
left:5px;
position: absolute;
bottom: 239px;
width: 5px;
z-index: 10
}

#navschu {
background-image: url(schu.gif);
background-repeat: repeat-x;
height: 6px;
left:10px;
right:807px;
position: absolute;
bottom: 239px;
z-index: 11
}

#scho {
background-image: url(scho.gif);
background-repeat: no-repeat;
height: 8px;
right:15px;
position: absolute;
top: 106px;
width: 5px;
z-index: 7
}

#schre {
background-image: url(schre.gif);
background-repeat: repeat;
bottom:60px;
right:15px;
position: absolute;
top: 114px;
width: 5px;
z-index: 8
}

#schru {
background-image: url(schru.gif);
background-repeat: no-repeat;
height: 6px;
right:15px;
position: absolute;
bottom: 54px;
width: 6px;
z-index: 9
}

#schlu {
background-image: url(schlu.gif);
background-repeat: no-repeat;
height: 6px;
left:221px;
position: absolute;
bottom: 54px;
width: 5px;
z-index: 10
}

#schu {
background-image: url(schu.gif);
background-repeat: repeat-x;
height: 6px;
left:226px;
right:21px;
position: absolute;
bottom: 54px;
z-index: 11
}

/*#navigation p{
padding: 1px;
}*/
</style>
</head>
<body>
<div id="bigcontainer">
<div id="kopf">CSS_CONTAINER[KOPF] <--- wenn hier was drinnsteht dann------>
<div id="logo">------> rutscht das nicht mehr tiefer ---> CSS_CONTAINER[Logo_oben]</div>
</div>
<div id="hintergrundbody"></div>
<div id="navigation">
        <p>
        CSS_CONTAINER [navi links 1]
        </p>
        <p>
        CSS_CONTAINER [navigat links 2]
        </p>
        <p>
        CSS_CONTAINER [navi links 3]
        </p>
        <p>
        CSS_CONTAINER [navi links 4]
        wie bekomme ich die Position der Unterenkante dieses Containers? Damit der Schatten unten angebracht wird? Im Moment ist es so, das wenn die
        </p>
        <p>Navigation groesser wird, der Schatten nicht mitgeht.
        </p>
        <p>
        :-(
        </p>
</div>
<div id="content"></div>
<div id="navscho"></div>
<div id="navschre"></div>
<div id="navschlu"></div>
<div id="navschru"></div>
<div id="navschru"></div>
<div id="navschu"></div>
<div id="scho"></div>
<div id="schre"></div>
<div id="schlu"></div>
<div id="schru"></div>
<div id="schru"></div>
<div id="schu"></div>
<div id="navioben">CSS_CONTAINER[navioben]</div>
<div id="bodycontenttext">

CSS_CONTAINER[Texte und alles]

<p>
Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographisches Leben. Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war Lorem Ipsum, hinaus zu gehen in die weite Grammatik.
<p>
</p>
Der große Oxmox riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ sich nicht beirren. Es packte seine sieben Versalien, schob sich sein Initial in den Gürtel und machte sich auf den Weg. Als es die ersten Hügel des Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von Alphabetdorf und die Subline seiner eigenen Straße, der Zeilengasse. Wehmütig lief ihm eine rethorische Frage über die Wange, dann setzte es seinen Weg fort. Unterwegs traf es eine Copy.
<p>
</p>
Die Copy warnte das Blindtextchen, da, wo sie herkäme wäre sie zigmal umgeschrieben worden und alles, was von ihrem Ursprung noch übrig wäre, sei das Wort "und" und das Blindtextchen solle umkehren und wieder in sein eigenes, sicheres Land zurückkehren. Doch alles Gutzureden konnte es nicht überzeugen und so dauerte es nicht lange, bis ihm ein paar heimtückische Werbetexter auflauerten, es mit Longe und Parole betrunken machten und es dann in ihre Agentur schleppten, wo sie es für ihre Projekte wieder und wieder mißbrauchten. Und wenn es nicht umgeschrieben wurde, dann benutzen Sie es immernoch.
<p>

<p>
Dies ist ein Blindtext. Dieser Text ist nicht dafür vorgesehen, den Betrachter in die Welt der Dunkelheit zu führen, sondern dafür, einfach etwas Leeres mit etwas Inhaltlosem zu füllen. Eigentlich könnte man diese Plattform als Propagandamaschine verwenden .... dem ist hier aber nicht so Dies ist und bleibt ein sinnloser Blindtext ohne Sinn und Zweck.
</p>
</p>
Achtung! Dieser Blindtext wird gerade durch 130 Millionen Rezeptoren Ihrer Netzhaut erfasst. Die Zellen werden dadurch in einen Erregungszustand versetzt, der sich über den Sehnerv in dem hinteren Teil Ihres Gehirns ausbreitet. Von dort aus überträgt sich die Erregung in Sekundenbruchteilen auch in andere Bereiche Ihres Grosshirns. Ihr Stirnlappen wird stimuliert. Von dort aus gehen jetzt Willensimpulse aus, die Ihr zentrales Nervensystem in konkrete Handlungen umsetzt. Kopf und Augen reagieren bereits. Sie folgen dem Text, nehmen die darin enthaltenen Informationen auf wie ein Schwamm. Nicht auszudenken, was mit Ihnen hätte passieren können, wenn dieser Blindtext durch einen echten Text ersetzt worden wäre.
</p>


</div>
<div id="foot">CSS_CONTAINER[FOOTER]</div>
</div>
</body>
</html>
Bleibt noch der Punkt mit dem unteren Schatten der NavigationsBox offen, der derzeit nicht mitwandert, da er eine feste Positionierung besitzt.
 
Status
Nicht offen für weitere Antworten.
Zurück