• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

3 Spalten mit optionalen rechten Container

thrawn

New member
Holla liebe CCS-Fangemeinde

folgende Situation:

Ich möchte ein Layout realisieren, welches 3 Spalten hat (#left, #center, #right). Also recht klassisch. Das Layout soll in der Breite Pixelgenau sein, ebenso wie #left und #right (also die Container links und rechts).

Nun soll #rechts aber "abschaltbar" sein und #content soll daraufhin an Breite gewinnen (muss nicht den kompletten platz von #rechts einnehmen).

Derzeit sind #content & #rechts via float links von #links positioniert. Wie realisiere ich dies? Wenn ich #content 100% gebe, quetscht er #rechts weg.

Gebe ich #content die %-Zahl, die nötig ist, um zwischen #links und #rechts zu bleiben, wächst #content nicht, wenn #rechts ausgeblendet ist.

Lösungsansätze bzw -vorschläge?

Danke im voraus
 
Ja, erstmal Danke...vielleicht hätte ich es erwähnen sollen: ein Styleswitcher ist für mein Vorhaben nicht zulässig.

Seh ich das richtig, dass CSS nach aktuellem Stand der Dinge hier Grenzen gesetzt sind? Weil ich hab eigentlich schon recht viel ausprobiert und rumgemacht. Scheint demnach wohl nur mit ner Tabelle realisierbar zu sein :(
 
"Abschaltbar" im Sinne von: Der User kann via PHP-Admin-Bereich bestimmen, ob er in #rechts Inhalt haben möchte oder nicht. Ist dies nicht der Fall, soll der #content mehr platz einnehmen.

Zur Verdeutlichung:

http://www.santitan.de/darth/test/test.html
http://www.santitan.de/darth/test/library/test.css

#links muss die angebene Breite haben, #rechts ebenso - #content soll sich je nachdem ob #rechts vorhanden ist, in der breite anpassen.

Die gesammte Breite ist im body vorgegeben.
 
Ich würde einfach 2 stylesheets machen!
Eines mit dem #rechts und eines ohne.

Also enthält style1.css z.B.:
HTML:
#rechts{
width:100px;
height:600px;
position: absolute;
top:0px
left: 700px;
}

#content{
width:400px;
height:600px;
position: absolute;
top:0px
left: 250px;
}

style2.css schaut dann so aus:
HTML:
#rechts{
display:none;
}

#content{
width:500px;
height:600px;
position: absolute;
top:0px
left: 250px;
}

Dann trägst du in die Tabelle mit den Usern eine Spalte "style" ein.
Beim Aufrufen der Seite wird sowieso wahrscheinlich der Name ausgelesen, da kannst du "style" ja gleich mit-selecten. Daraus mache ich jetzt mal $style.

Dann schreibst du folgendes in den head:
PHP:
if ($style==''){ //für den Fall, dass die Spalte leer ist
$style=1;
}

Dann wird das passende Stylesheet verlinkt:
HTML:
<link href="style<? echo $style ?>.css" rel="stylesheet" type="text/css">

Ich hoffe, das hilft für dein System
 
Zuletzt bearbeitet:
Zurück
Oben