Layout von Links nach Rechts - Spalten sollen 100% hoch sein

Layout von Links nach Rechts - Spalten sollen 100% hoch sein

Beitragvon Goerte » 20.01.2010, 14:23

Hallo an Alle,

ich habe ein Problem und ich bin mittlerweile der Meinung, dass es daran liegt dass ich mein Layout von links nach recht aufbaue.

Aufgeteilt in drei Spalten, die linke und rechte Spalte wird mit einer Grafik versehen die sich von ganz oben bis ganz unten (height:100%) erstrecken soll. In die Mittlere Spalte trage ich meinen Content ein, bestehen aus Header, Content und Footer. Auch hier soll sich die spalte auf die ganze Seite mit einer Hintergrundgrafik erstrecken.

Leider schaffe ich es nicht dass die Spalten sich über die ganze Seite erstrecken. Die Lösung dass ich die Spalten-Höhe auf eine feste Pixelgröße ausrichte find ich gar nicht gut :(

Hier habe ich das mal beispielhaft nachgebaut (hoffe es ist nicht zu kompliziert ;) ):
Code: Alles auswählen
<head>

<style type="text/css"><!--

/********************** ++++ *****//********************** ++++ *****/

#head{
   width:700px;
   height:100px;
   border: solid #000;
   background-color:#6F0;
   }
#content{
   position:relative;
   border: solid #C0F;
   background-color:#FF0;
   width:700px;
   }
#foot{
   position:relative;
   width:700px;
   height:100px;
   border: solid #C00;
   background-color:#6F0;
   }

/********************** ++++ *****/
#spalte_links{
   width:150px;
   border:solid #0F0;
   }
#spalte_mitte{
   width:150px;
   border:solid #0F0;
   }
#spalte_rechts{
   width:150px;
   border:solid #0F0;
   }
/********************** ++++ *****/
body {
   width:100%;
    min-height:100%;
   margin:0px auto;
   }
* html body
{
height:100%;
}
   
/********************** ++++ *****/

#sp1{
   float:left;
   height:100px;
   width:100px;
   border:solid;
   background-color:#6FF;
   }
#sp2{
   float:left;
   padding-left:50px;
   width:800px;
   height:1000px;
   background-color:#999;
   border:solid;
   }
#sp3{
   float:right;
   height:100px;
   width:100px;
   background-color:#6FF;
   border:solid;
   }

   
-->
</style>
</head>
<body>

<div id="rahmen">
<div id="sp1"> diese div sollte bis ans seiten ende gehen </div>

<div id="sp2">

   <div id="head"> </div>
   <div id="content">
      <div id="spalte_links" style="float:left">    
          hallo das ist ein test<br/>
         </div>
      <div id="spalte_mitte" style="float:left">   
         hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>
         hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>
      </div>
       <div id="spalte_rechts" style="float:left">   
          hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>
            hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>
            hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>hallo das ist ein test<br/>
       </div>
       <div style="clear:both"> </div>
   </div>
   <div id="foot" > </div>
</div>
<div id="sp3"> </div>
</div>



</body>
</html>



jemand eine Idee?
Goerte
neu hier
 
Beiträge: 2
Registriert: 20.01.2010, 14:15

Re: Layout von Links nach Rechts - Spalten sollen 100% hoch sein

Beitragvon sejuma » 20.01.2010, 15:22

Das hat nichts mit dem "Aufbau von links nach rechts" zu tun, sondern hängt vielmehr damit zusammen;

Ein Blockelement (somit auch div) nimmt grundsätzlich die Größe seines Inhalts an. Wenn du also keine Höhe definiert hast, dann gilt: Je mehr Inhalt, desto länger.

Eine fixe Pixelhöhe hat den Nachteil, dass das Element eben immer nur eine bestimmte Höhe hat, unabhängig vom Inhalt.
Das Gleiche gilt im Prinzip auch für eine 100% Höhe. Denn die bezieht sich dann in der Regel auf die Höhe des Bildschirmfensters.

Man löst dieses Problem mit dem sogenannten "Faux-Columns-Trick": http://www.ohne-css.gehts-gar.net/0005.php
Dabei wird eine Hintergrundgrafik erstellt, die dem "Querschnitt" des layouts entspricht. Weist man diese einem allumfassenden #wrapper zu, dann kachelt sie sich so lange nach unten wie es dem längsten Inhalt einer Spalte entspricht.
Bild
sejuma
Vielposter
 
Beiträge: 788
Registriert: 15.07.2009, 17:46

Re: Layout von Links nach Rechts - Spalten sollen 100% hoch sein

Beitragvon Goerte » 20.01.2010, 15:29

Hallo sejuma ,

habe mich zeitglich über den "Faux-Columns-Trick" belesen, zuerst fand ich die Lösung gar nicht gut. Aber für meine Problem reicht das alle mal.

Vielen Dank für den Tipp und deinen Link, hier ist es viel besser erklärt wie dass was ich gefunden habe.

Habe meine Testdatei auch schon umgeschrieben und es funktioniert so wie es soll.


Danke und bist bald zur nächsten Frage ;)
Goerte
neu hier
 
Beiträge: 2
Registriert: 20.01.2010, 14:15


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Layout von Links nach Rechts - Spalten sollen 100% hoch sein"

Zurück zu: CSS für Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste