Dreiteiliges Layout: Hintergrund im Main-Content

Hallo zusammen,

ich verzweiffle: Ich habe hier ein Layout, das einen Header mit Menü, einen Hauptinhalt und einen Footer hat. Header und Footer sind fix, Content nimmt den Rest. Da ich das Menü im HEader habe, und der jeweilige Inhalt im Main_Content kommen soll, bleiben mit 2 Dinge:

  • php (Kann ich nicht so gut und ist auf dem Server im Moment nicht da
  • Frames (ich weiss, nicht gut, aber einfach)

Ich habe mich vorerst für Frames entschieden und werde die ggf. irgendwann umstellen. Innerhalb der Frames arbeite ich aber mit

.

Das Layout hat eine fixe breite von 1024. Ich mag keine variablen Breiten.
Problem: Der Maincontent soll einen Background haben der NICHT weiss ist.

Wen ich nun eine normale html-Seite mit css-Attribut background-color einblende, geht die immer über die 1024er Breite hinaus.
Wenn ich ein

nehme ist das nur so hoch wie der Inhalt
Nehme ich eine Tabelle wird die auch nur so hoch wie ich sie fest vorgebe oder wie der Inhalt.

Wie kriege ich es jetzt hin, dass ich einen Hintergrund erhalte, der max. 1024px breit ist, aber die gesamte Höhe ausfüllt? Tips?

Danke und Gruß,
Martin

Normalerweise so wie Du es auch schreibst:

feste Breite von 1024

width: 1024px;

Für die komplette Höhe 100% soviel dem div als auch body und html zuordnen.

Und in dieses div dann das Hintergrundbild.

Sprichst Du da von einem div, oder einer Tabellenzelle?

Natürlich von einem div, steht ja da.

findest du ne feste breite von 1024px nicht ein bisschen viel?
wenn du deine seite auf eine 1024x768px bildschirmauflösung optimieren willst, sind das mindestens 34px zu viel :wink: es sei denn keine deiner seiten ist lang genug um einen vertikalen scrollbalken zu erzeugen.
990px sollte das max sein. besser noch ein wenig spielraum und 950px oder weniger.

den background der ganzen seite kannst du nicht einschränken!
nimm einen div-container.
gib dem die gewünschte breite und hintergrundfarbe und zentriere ihn.

für die volle höhe musst du erste mal bestimmen, dass html und body 100% sind und danach deinem div sagen, dass er diese 100% ebenfalls einnehmen soll.
außerdem wirst du nicht umhinkommen die seitenränder auf 0 zu stellen

html,body{
height:100%;
margin:0;
}
 
.hauptcontainer{
width:950px;
height:100%; /*für IE7*/
min-height:100%; /*für Firefox*/
background-color:#000000;
}

das sollte deine lösung sein wen ich dich richtig verstanden habe

Nicht gut und eigentlich auch alles andere als einfach.

Innerhalb der Frames arbeite ich aber mit

.

Aua. Ich würde ja mit HTML arbeiten. Das ist weit mehr als nur „div“. Das Element div dient lediglich zum Gruppieren von mehreren Elementen. Mach keine div-Suppe aus Deinem Code und mach auch nicht „Layout mit div“, was genauso Quatsch ist wie „Layout mit Tabellen“.

Das Layout hat eine fixe breite von 1024. Ich mag keine variablen Breiten.

Ich möchte Dich wenigstens wissen lassen, dass ich dabei den Kopf schüttele. Deine Meinung steht gegen alle die Meinungen Deiner Besucher. Für wen machst Du die Website? Und wie kommst Du überhaupt auf diese irrige Zahl? Und bitte nicht mit der Auflösung begründen - die ist beim Erstellen von Websites irrelevant.

Danke Space Vampire, genau das passt!

Gruß,
Martin

Naja, zumindest bekomme ich so das Menü mit dem Austausch des Hauptinhalts über „target“ relativ gut hin. Mein Erfahrungen waren bisher überwiegend mit Content-Systemen wie Joomla. Dort kann man das Layout relativ einfach erstellen und muss sich mit PHP nur für den jeweiligen Modulaufruf rumschlagen.
Aber das hier wird eine Seite, die im Wesentlichen nicht nur statisch ist, sondern auch nicht/kaum geändert wird. Da ist Joomla einfach zuviel.

Ja, ich weiss. Ich meinte damit, das ich zur Positionierung keine Tabelle oder weitere Frames verwende. Natürlich wird der Inhalt mit Text / Paragraph und den standard HTML-Elementen gemacht und über css formatiert. Ich hoffe so, dass wenn ich mich irgendwann mit php näher beschäftige und der Server php hat, die Seite relativ einfach umgebaut werden kann.

Ist ja nicht so, dass ich mich nicht belehren lasse. Habe die Breite etwas nach unten korrigiert. Eventuell mache ich das später noch variabel. Jetzt wird’s erstmal fix live genommen.

Danke für die Anregungen und die Hilfe.
Gruß,
Martin

Ich sag ja nicht, dass Du mit Frames nicht gut zurecht kämest, aber Du eignest Dir da was an, was Du nie brauchst und was gegen „normales“ Verhalten geht. Wenn Du dann richtig arbeiten willst, musst Du wieder umlernen und kommst dann ins Straucheln, weil die normalen Abläufe für Dich seltsam sind.

Ich meinte damit, das ich zur Positionierung keine Tabelle oder weitere Frames verwende.

Warum nicht? Zum Positionieren nehme ich CSS. Aber ich würde durchaus auch eine Tabelle positionieren. Das Positionieren hat ja nichts mit HTML zu tun. Man kann jedes HTML-Element mit CSS positionieren. Habe ich tabellarische Daten, zeichne ich die als Tabelle aus und kann sie dann auch positionieren.