div + css anstatt tables -> Problem mit Länge der Page

Status
Nicht offen für weitere Antworten.

sacridex

Mitglied
Also, ich hab mich entschlossen keine Tabellen mehr zu verwenden, wo sie nich hingehören und bin auf css um gestiegen.
Auf dem angehängten Bild kann man die Grafiken der Page sehen, wie sie angeordnet sein sollen.
Hat auch alles toll geklappt, hab alles in ein div gepackt, die Grafiken in dem div hab ich wieder via div mit "position: absolute;" und den Positionsangaben koordiniert.

Jetzt aber das Problem:
Im Hauptfenster soll immer der Inhalt stehen, den man in der Navi ausgewählt hat. Dessen Länge variiert natürlich von Seite zu Seite,etc. Jetzt will ich, dass die Leiste ganz Links _immer_ bis ganz nach unten geht, das Hauptfesnter nicht, jedoch sollte es verschiedene Größen annehmen können, wegen dem verschieden großen Inhalten.

So ich denke, dass hat jetzt niemand verstanden, hier mal der Code:

style.css
Code:
body
{
margin: 0px;
padding: 0px;
background-color: #000000;
}

#frame
{
top: 0px;
left: 0px;
width: 800px;
height: 5000px;
z-index: 0;
position: absolute;
}

#banner
{
top: 0px;
left: 44px;
width: 755px;
height: 453px;
background-image: url(banner.jpg);
z-index: 1;
position: absolute;
}

#links
{
top: 0px;
left: 0px;
width: 44px;
height: 100%;
background-image: url(links.jpg);
z-index: 1;
position: absolute;
}

#middle
{
top: 453px;
left: 44px;
width: 756px;
height: 59px;
background-image: url(middle.gif);
z-index: 1;
position: absolute;
}

#shortbar
{
top: 514px;
left: 46px;
width: 754px;
height: 137px;
background-image: url(shortbar.gif);
z-index: 1;
position: absolute;
}

#naviframe
{
top: 696px;
left: 46px;
width: 215px;
height: 410px;
z-index: 1;
position: absolute;
}

#navioben
{
top: 0px;
left: 0px;
width: 215px;
height: 5px;
background-image: url(navioben.gif);
z-index: 1;
position: absolute;
}

#navimitte
{
top: 5px;
bottom: 5px;
left: 0;
width: 215px;
height: 400px;
background-image: url(navimitte.gif);
z-index: 1;
position: absolute;
}

#naviunten
{
bottom: 0px;
left: 0px;
width: 215px;
height: 5px;
background-image: url(naviunten.gif);
z-index: 1;
position: absolute;
}

#navi
{
top: 653px;
left: 46px;
width: 215px;
height: 41px;
background-image: url(navi2.gif);
z-index: 1;
position: absolute;
}

#main
{
top: 653px;
left: 46px;
width: 215px;
height: 41px;
background-image: url(navi2.gif);
z-index: 1;
position: absolute;
}


Das php File dazu
Code:
<?php

echo "<html>";

echo "<head>";
echo "<title></title>";
echo "<link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\">";
echo "</head>";
echo "<body>";


echo "<div id=\"frame\">";
echo "<div id=\"links\"></div>";
echo "<div id=\"banner\"></div>";
echo "<div id=\"middle\"></div>";
echo "<div id=\"shortbar\"></div>";
echo "<div id=\"naviframe\">";
echo "<div id=\"navioben\"></div>";
echo "<div id=\"navimitte\"></div>";
echo "<div id=\"naviunten\"></div>";
echo "</div>";
echo "<div id=\"navi\"></div>";
echo "</div>";


echo "</body>";
echo "</html>";

?>
 

Anhänge

  • pest.jpg
    pest.jpg
    19,7 KB · Aufrufe: 163
Hallo sacridex,

also so wirklich hab ich nicht verstanden, was du denn willst.....

Damit sich keiner nochmal die selbe Arbeit machen muss, dein Beispiel in einer TXT-Datei im Anhang. (Einfach in HTML umbenennen.)

Also:
Was soll wann wie lang sein?
(Verwende doch bitte die Namen aus dem CSS, das ist einfacher)

Außerdem ist wichtig, wie dynamisch das ganze sein soll. Ich denke doch mal, dass du den Inhalt irgendwie mit PHP rein bringen willst. Sind das "statische" Textdateien oder auch Inhalte aus einer DB?

Wahrscheinlich liegt das Problem eher darin herauszufinden, wie lange der angezeigte Inhalt ist und das dann per PHP ins CSS umzusetzen.

cu
simone
 

Anhänge

http://rdns.nl/~sacridex/pest/test/test.php
schau dir mal den Link an. Das is die Page mit css umgesetzt.

Hier einmal mit Tables(wo es auch funktioniert):
http://rdns.nl/~sacridex/Kopie von pest2/index.php?link=news#link

Also: Links ist die Leiste zu sehen und der Hauptteil wird wohl auch zu finden sein.
Ich will, dass die Leiste immer bis ganz nach unten geht, wie es im zweiten Beispiel ja der Fall ist. Mit Tables ja auch kein Problem, jedoch will ich dies nun auch mit css erreichen. ;)
Jetzt ist halt die Frage wie geht das ^^

PS: bei der Variante mit Tables bitte auf Neuigkeiten, Zwiegespräche und musikalische Begutachtung klicken, diese Seiten haben verschieden lange Inhalte.

Danke
 
Hallo sacridex,

also ich versteh das immer noch nicht wirklich - bei mir ist nämlich in dem zweiten Beispiel nix so lang, wie der Inhalt....

Insgesamt hast du drei Möglichkeiten:

-p.html: du lässt den Inhalt separat scrollen. Damit das kein Drucheinander wird, solltest du die Seite so aufbauen, dass man die ganze Seite nicht scrollen muss. (Was ich dir sowieso empfehlen würde - der untere Teil vom Bild oben ist IMHO nicht so wichtig)
Noch ein Vorteil hiervon: die Navigation ist immer erreichbar

-p2.html: Du setzt die Werte fest. Das kannst du ja per PHP ermitteln, aber wahrscheinlich wirst du nie so genau treffen.

-p3.html: Du verwendest JavaScript. Zwar bin ich mir nicht Sicher, in wie fern das wirklich JavaScript ist. Im phase5 wird es nicht interpretiert, aber wenn ich bei mir Scripting ausschalte, interpretiert es der IE immer noch...

cu
simone
 

Anhänge

  • p.zip
    p.zip
    2,5 KB · Aufrufe: 15
Erstmal Danke.
Ich mein aber jetzt speziell für das Design.

Noch einmal, vielleicht versteht mich dann wer:
Also klickt erstmal hier.
So jetzt sieht man links die Leiste(Säule, wie auch immer), und den Hauptteil("langer inhalt" steht weiter unten darin). Die andren Teile sind eigtl ned so wichtig.
Hab mal wieder ein Bild gezeichnet um es deutlicher zu machen.
Zu sehen ist oben die Variante mit Tables darunter die mit CSS.

Tables: Die verschiedenen Farben sind verschiedene Tables, das Bild erklärt sich evtl von allein. Wenn der Inhalt grösser wird, wird auch die goße Tabelle größer, da die kleine sich ja in ihr befindet. Logisch. Somit auch die Leiste/Säule(Da sie ja background-image ist).

css: Und jetzt wollt ich das genau so auch mit css machen.
Ich hab ein div aussenrum gemacht(das Schwarze). Darin die einzelnen Teile als div + background-image. Ich hab sie mit "posision: absolute;" und den Koordinaten INNERHALB des schwarzen divs koordiniert. Rein theoretisch, wenn jetzt der Inhalt länger wird, müsste er sozusagen das große div vergrssern und die Leiste/Säule, die heigt 100% besitzt, müsste somit auch größer werden.
Leider scheint das mit "position: absolute;" nicht hinzuhauen.

Und jetzt will ich halt wissen, wie ich das machen soll. Auf position absolute will ich ungern verzichtern, da es damit sehr leicht fällt, die Felder zu koordinieren, im Gegensatz zu Tables!
 

Anhänge

  • pest2.jpg
    pest2.jpg
    51,4 KB · Aufrufe: 125
Hallo sacridex,

height 100% heißt so groß, wie der Anzeigebereich vom Browser, nicht so groß, wie die Seite.
-> einfach weglassen (garkeine Höhenangabe)

außerdem kannst du das Bild einfach als Hintergrundbild setzen (so ganz normal und lagweilig vom body)

cu
simone
 
du setzt das Bild als Hintergrund für body und nicht für ein DIV
(langweilig-hier: nicht so kompliziert :))

den Repeat richtig setzen und schon geht es bis ganz unten.
(mit repeat y musst du dir keine Gedanken um die Breite machen..)

bei mir geht das übrigens bis ganz unten...

cu
simone
 

Anhänge

  • Image2.jpg
    Image2.jpg
    2,8 KB · Aufrufe: 95
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück