Seotopia - Tipps und Tricks zur Suchmaschinenoptimierung Foren-Übersicht
RegistrierenSuchenFAQMitgliederlisteBenutzergruppenLogin
Neue Antwort erstellen Seite 1 von 1
Dreispaltenlayout mit Spalten gleicher Länge
Autor Nachricht
Antworten mit Zitat
Beitrag Dreispaltenlayout mit Spalten gleicher Länge 
Hallo Leute,

ich habe ein Problem... Ich will eine Seite mit drei Spalten erstellen (ohne Tabellen!), und zwar so, dass alle drei Spalten gleich lang sind. Leider kriege ich das nicht hin. Egal, was ich mache, sind die spalten unterschiedlich lang. Sad

Der Code soll etwa so aussehen:

Code:

<div id="page">
  <div id="left">...</div>
  <div id="main">...</div>
  <div id="main">...</div>
</div>


Was soll ich nun in CSS schreiben, damit alle drei Spalten *immer* wirklich gleich lang sind? Unabhängig davon, welcher Text in den Spalten steht!

Antworten mit Zitat
Beitrag RE: Dreispaltenlayout mit Spalten gleicher Länge 
Dein HTML könnte folgend aussehen:

Code:

<head>

<style type="text/css" title="currentStyle" media="screen">
   @import "1.css";
</style>
</head>
<body>
  <div id="container">
    <div id="containerInner">
      <div id="header">
        <h1>Header</h1>
      </div>
      <div id="main">
        <div id="center">
          Center
        </div>
        <div id="sidebarL">
          Left
        </div>
      </div>
      <div id="sidebarR">
        Right
      </div>
      <div id="footer">
        Footer
      </div>
    </div>
  </div>
</body>


Das CSS dazu:

Code:

#container {
max-width: 1200px;
background: url(img/dreiSpaltenR.gif) repeat-y 70% 0;
}
#containerInner {
background: url(img/dreiSpaltenL.gif) repeat-y 28% 0;
}
#header {
  background: #966;
}
#main {
width: 70%;
float: left;
}
#center {
width: 60%;
float: right;
}
#sidebarL {
background: #966;
width: 40%;
float: left;
}
#sidebarR {
background: #966;
width: 30%;
float: right;
}
#footer {
clear: both;
background: #966;
}


Die gleiche Spaltenlänge erreicht man durch die beiden Bilder. Dafür musst Du 2 Bilder der Länge 2000px erstellen. Beim Bild für die rechte Spalte, färbst Du 600px von rechts in der Farbe ein, wie Deine rechte Spalte sein soll. Beim Bild für die linke Seite färbst Du 560px in der Farbe ein, wie Deine linke Spaltenfarbe sein soll. Beim zweiten Bild setzt Du den Hintergrund transparent, so dass er die Farben des ersten Bildes für die mittlere und rechte Spalte nicht überdeckt.

Kai

Antworten mit Zitat
Beitrag  
Hm... Funktioniert tatsächlich! Vielen Dank! Smile

Ich habe viele Beispiele im Netz gefunden, aber sie hatten entweder statische Spaltenbreiten oder hantierten mit negativen Offsets, was ziemlich kompliziert aussah und Probleme bei vielen Browsern verursacht.

Aber die von Dir beschriebene Methode ist ja im Prinzip nicht viel anders als mit statischen Spaltenbreiten und Hintergrundbildern. Nur wird hier die Eigenschaft der Bildskalierung ausgenutzt. Darauf muss man erstmal kommen. Smile

Antworten mit Zitat
Beitrag  
Code:
Dafür musst Du 2 Bilder der Länge 2000px erstellen.


Aufgrund dieses Monitors würde ich mindestens 2560px nehmen, oder gleich 3000, damit die Rechnung einfacher wird. Very Happy

Naja, eigentlich ist diese Methode auch eine Krücke. Aber es oft ist die beste Krücke. Diese Methode ist aber auch nicht ohne. Man muss stets aufpassen, dass kein 1-Pixel-Fehler durch Division entsteht. Außerdem ist mir aufgefallen, dass einige ältere Browser sich um 1 Pixel verrechnen, selbst wenn sich eigentlich eine ganze Zahl ergeben müsste. Vorsicht ist also angebracht! Am besten vermeidet man Layouts, wo es auf Pixelgenauigkeit ankommt. Oder man verzichtet ganz darauf und macht die gleiche Hintergrundfarbe bei allen Spalten. Wink

Leider gibt es keine saubere Möglichkeit, die Höhe mehrerer Elemente in Relation zueinander festzulegen, so dass es von heutigen Browsern unterstützt wird. Deswegen muss man sich leider mit solchen Tricks wie Hintergrundbildern behelfen. Mit CSS 3 soll es aber möglich werden:

http://www.w3.org/TR/2001/WD-css3-multicol-20010118/

Benutzer-Profile anzeigen Private Nachricht senden
Antworten mit Zitat
Beitrag Problem 
Hallo,

ich habe mit der hier vorgeschlagenene Lösung folgendes Problem.
Unter Firefox funktioniert das prima. Unter IE jedoch nicht. Der IE scheint die Angabe für die Wiederholung des Hintergrundbilds zu ignorieren. Um das zu umgehen, muss ich eine Höhe für die gesamte Box angeben. Beispielsweise 100%. Was ja eigentlich Unsinn ist, denn dadurch habe ich genau das, was ich nicht wollte, nämlich eine festgelegte Höhe.
Während der IE es dann aber richtig darzustellen scheint, verhält sich Firefox so, wie es sein sollte. Er hört nach 100% auf Sad.
Gibt es eine Lösung für das Problem?

Benutzer-Profile anzeigen Private Nachricht senden
Antworten mit Zitat
Beitrag Nachtrag 
Ich habe noch ein weiteres Problem.
Innerhalb der Center-Box habe ich eine weitere Box gesetzt, um so vernünftige Abstände setzen zu können.
Nun habe ich versucht, innerhalb der inneren Box, die Inhalte per margin: auto zu zentrieren. Das läuft auch wieder mal prima im Firefox, der IE beachtet die Anweisung einfach nicht. Hat jemand eine Idee, woran es liegen könnte?

Benutzer-Profile anzeigen Private Nachricht senden
Antworten mit Zitat
Beitrag Yaml 
Wenn ich mal was empfehlen darf, schaut mal bei www.yaml.de rein.
Alle Spalten möglich,Browserprobleme sind weitgehend beseitigt
Viel Erfolg


_________________
Vielen Dank
Gilbertkai
www.wtm-online.de
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Antworten mit Zitat
Beitrag Re: Yaml 
Gilbertkai hat Folgendes geschrieben:
Wenn ich mal was empfehlen darf, schaut mal bei www.yaml.de rein.
Alle Spalten möglich,Browserprobleme sind weitgehend beseitigt
Viel Erfolg


Vielen Dank. Hast Du das schon ausprobiert?

Benutzer-Profile anzeigen Private Nachricht senden
Antworten mit Zitat
Beitrag Re: Yaml 
Andreas hat Folgendes geschrieben:
Gilbertkai hat Folgendes geschrieben:
Wenn ich mal was empfehlen darf, schaut mal bei www.yaml.de rein.
Alle Spalten möglich,Browserprobleme sind weitgehend beseitigt
Viel Erfolg


Vielen Dank. Hast Du das schon ausprobiert?


Wir machen fast alle Webseiten mit yaml, du findest die Beispiele unter Referenzen


_________________
Vielen Dank
Gilbertkai
www.wtm-online.de
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:
Neue Antwort erstellen Seite 1 von 1
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
  


Impressum 

Ayurveda Produkte  Meisinger Ingenieurleistungen  Pflanzenguru  Lichtarbeiter-forum  Antworten finden  Männerhilfe  Tess  Heimwerkerrunde  Heilpflanzen  Dating-Portal  Verbraucherschutz Forum  Webkatalog  Heilpflanzen  Webdesign Bremen  Fischdatenbank  Pflanzen Forum  Ziegen Forum  0041325120486 Geschenkideen