Zum Inhalt springen

3 Spalten-Problem


masterkey88

Empfohlene Beiträge

Hallo Leute,

ich habe bereits Tage lang gesucht und nichts gefunden.

Ich weiß auch, dass der drei-Spalten Problem bei div-Blöcke mit CSS oft behandelt wurde.

Ich finde trotz allem keine passende Lösung für mein Problem und bitte daher um Hilfe bzw. Lösungvorschlag.

Ich bin gerade dabei eine 3 Spaltige Website aufzubauen, und da ich von den "alten" und "billigen" Tabellen wegkommen möchte, hab ich mir gedacht das ganze mit CSS anzupassen.

Meine Seite wird 3 Spaltig aufgebaut,

--------------------------------------

Aufbau:

websitecle.jpg

Das größte Problem ist mein Banner bzw. mein Bild oben auf der Seite, daher kann ich für die einzelne 3 Spalten kein "height: 100%" nehmen.

Jedes Block Element erhält eine andere Hintergrundfarbe und das ganze sollte sich beim besuch der Seite auf die ganze Browserhöhe anpassen.

Jedoch ist meine mittlere Spalte mein Textbereich, diese wächst je nach Text-/Berichtlänge, dann sollten sich die erste Spalte(Menü) und die 3.Spalte an der Höhe des Textbereiches anpassen und somit auch wachsen.

Ich bedanke mich vielmals und hoffe auf Unterstützung.

Grüße,

masterkey

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin gerade dabei eine 3 Spaltige Website aufzubauen, und da ich von den "alten" und "billigen" Tabellen wegkommen möchte, hab ich mir gedacht das ganze mit CSS anzupassen.
Es gibt die "reine Lehre" und einen gesunden Pragmatismus. Auch wenn es jetzt wahrscheinlich Hasstiraden und bitterböse Flames geben wird aber ich würde, wenn sich nach ein bisschen Herumprobieren mit CSS nichts wirklich praktikables ergeben hat ganz einfach wieder zu den "guten alten" Tabellen wechseln. Nicht der Weisheit letzter Schluss aber letzten Endes lässt sich damit das Ziel erreichen.
Link zu diesem Kommentar
Auf anderen Seiten teilen

kein grund für hasstiraden, stimme perdian da voll und ganz zu.

divs sind nicht aneinander gekoppelt, wenn ein browser also nachträglich dazu gezwungen ist, aufgrund eines überlaufenden inhalts, ein div element zu vergrößern, wird er selbiges auch immer nur für alle parent elemente machen und nicht für iwelche anderen divs iwo mitten im quelltext, woher soll er den zusammenhang auch erkennen :D

(der ganze abschnitt über dieser klammer gilt natürlich nicht nur für divs, sondern jedes andere html block element auch)

nehm einfach für das grundgerüst ne denkbar billige tabelle und mach danach dann ganz normal weiter.

nur weil man nicht mehr grundsätzlich nicht mehr mit tabellen layouten soll, heißt das nicht, dass man sie nicht mehr benutzen darf. die drei block-elemente sollen höhentechnisch also aneinander gekoppelt sein und das ist nunmal das logische abbild einer tabelle.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich würde es so machen:

<div id="Seite">

<div id="menü">

</div>

<div id="rechts">

<div id="bild">

</div>

<div id="unten">

<div id="untenlinks">

</div>

<div id="untenrechts">

</div>

</div>

</div>

</div>

Edit: Irgendwie wird meine Formatierung mit Leerzeichen ignoriert. Ich hoffe du blickst trotzdem durch.

mfg Hendrik232

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich würde es so machen:

<div id="Seite">

<div id="menü">

</div>

<div id="rechts">

<div id="bild">

</div>

<div id="unten">

<div id="untenlinks">

</div>

<div id="untenrechts">

</div>

</div>

</div>

</div>

Edit: Irgendwie wird meine Formatierung mit Leerzeichen ignoriert. Ich hoffe du blickst trotzdem durch.

mfg Hendrik232

Wie würde dann der dazugehörige CSS-Code lauten?

Jetzt mal unabhängig von den breitenangaben.

Beispiel:

div#seite {margin: 0 auto; height: 100%}

div#menu {position: relative; left: 0px; float: left; height: 100%}

div#rechts {position: relative; right: 0px; float: right; height: 100%}

div#bild{position: relative; left: 0px; float: left; height: 150px}

div#unten {position:relative: left:0px; float:left; height:????}

div#untenlinks {position: relative: left: 0px; height:100%; float:left}

div#untenrechts {position:relative; left:0px; height: 100%; float:left}

Was gebe ich nun als Höhe bei unten ein?

Link zu diesem Kommentar
Auf anderen Seiten teilen

willkommen bei deinem ausgangsproblem, nur mit einem komplexeren code.

du musst halt einen weg finden, den browser mitzuteilen, dass dein menü und dein content feld höhenbezogen gekoppelt sein sollen, da ist imho ne tabelle browserübergreifend deine einzige chance.

(Namen vom oberen Beispiel)

OK, vielen Dank euch allen... wenn ich Menü und Rechts durch eine Tabelle ersetzte, bleibt mir das Problem dass untenlinks und untenrechts sich auf die Höhe der Tabelle anpassen müsste (die Höhe des Bildes sollte abgezogen werden), und dies soll bei beiden gleichzeitig geschehen, weil sie auch die gleiche höhe haben sollten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

du hast es noch nicht ganz verstanden ;)

du hast halt das problem, dass egal ob menü, untenlinks oder untenrechts deine größten felder sind, alle gleich hoch sein sollen, bzw rechts das bild abgezogen werden musst, dann muss auch schon alles in die selbe tabelle ;)

also sowas in der art


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-AU">

<head>

	<style type="text/css">

	<!--

		html	{ height: 100%; }

		body {

			margin: 0px;

			padding: 0px; 

			height: 100%;

		}

		#seite {

			height: 100%;

			margin: 0px auto;

			width: 1000px; 

		}

		#menu {

			background: #f00;

		}

		#bild {

			background: #ff0;

			height: 150px;

		}

		#untenlinks {

			background: #0f0;

		}

		#untenrechts {

			background: #00f;

		}

		-->	

	</style>

</head>

<body>

	<table id="seite" cellpadding="0" cellspacing="0">

		<tr>

			<td id="menu" rowspan="2">

			</td>

			<td id="bild" colspan="2">

			</td>

		</tr>

		<tr>

			<td id="untenlinks">

			</td>

			<td id="untenrechts">

			</td>

		</tr>

	</table>

</body>

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber lass dich nicht täuschen jetzt, dein problem ist bei zweispaltigkeit, also ohne das "untenrechts" auch problemlos ohne eine tabelle lösen, auch mit synchroner höhenanpassung zwischen menü und content.

für alle 3 spalten fällt mir da keine lösung ein, allerdings muss selbst dann die verwendung von min-height ok sein. da muss man dann aber immer warnen, denn

min-height: Minimale Höhe: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets

min-height geht nicht im IE6.

Jetzt mag man denken, gut der IE8 ist da, sch... auf IE6, nur die leute sind halt faul ;)

Browser-Versionen » Statistiken » Browser-Statistik.de

ich würde neue webseiten auch nicht mehr für IE6 entwickeln, es schränkt einen nunmal massiv ein, aber es gibt nunmal auftraggeber, die verlangen, dass es wirklich bei jeden gleich aussieht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber lass dich nicht täuschen jetzt, dein problem ist bei zweispaltigkeit, also ohne das "untenrechts" auch problemlos ohne eine tabelle lösen, auch mit synchroner höhenanpassung zwischen menü und content.

für alle 3 spalten fällt mir da keine lösung ein, allerdings muss selbst dann die verwendung von min-height ok sein. da muss man dann aber immer warnen, denn

min-height: Minimale Höhe: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets

min-height geht nicht im IE6.

Jetzt mag man denken, gut der IE8 ist da, sch... auf IE6, nur die leute sind halt faul ;)

Browser-Versionen » Statistiken » Browser-Statistik.de

ich würde neue webseiten auch nicht mehr für IE6 entwickeln, es schränkt einen nunmal massiv ein, aber es gibt nunmal auftraggeber, die verlangen, dass es wirklich bei jeden gleich aussieht.

Vielen Lieben Dank!!!

ich löse nun das ganze mit tabellen, damit ist mein problem endgültig gelöst :D

Kannst mir die Lösung für die 2 Spalten erläutern? würde mich interessieren

Link zu diesem Kommentar
Auf anderen Seiten teilen

min-height geht nicht im IE6
Auch wenn's hoffnungslos offtopic ist, aber wer sich 2009 noch dazu hinreissen lässt alles so zu coden, dass es auch im IE6 noch funktioniert, der gehört verdroschen von oben bis unten ;-)

Wenn mein Auftraggeber mir auferlegt, dass es auch in diesem uralten Stück Sch^wTechnik noch laufen muss, dann gilt es ihn davon zu überzeugen, dass es komplett sinnlos und vor allem eine Verschwendung seines Geldes ist. Wenn ich es "richtig" machen will und trotzdem lauffähig im IE6, dann heisst das: Tüfteilei. Tüftelei bedeutet Zeitaufwand. Zeitaufwand bedeutet Geld. Spätestens hier werden auch Nichttechniker hellhörig *g*.

Die ganze "Wie baue ich HTML Quellcode 'richtig' auf" Debatte ist voll von religiösen Diskussionen, Überlegungen und scheinbaren "must-do" Dingen, die sicherlich (mal mehr, mal weniger) sinnvoll sind aber in der realen Welt irgendwann einfach nicht mehr durchzusetzen sind. Wenn ich die Wahl habe zwischen einem halben Tag optimieren (inklusive Recherche, Regressionstests, etc) und zehn Minuten Umsetzung einer "dreckigen" Tabellenlösung, dann werde ich mich sehr wahrscheinlich für die dreckige Tabellenlösung entscheiden - that's life.

Irgendwie erinnert mich das an "Während Villariba schon live gegangen ist wird in Villabacho noch das richtige Layout gesucht" ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...