Sanjoy: 3-spaltiges mittiges div Element

Hallo liebe Helfer,

irgendwie bekomme ich es nicht richtig hin - vielleicht liegt es auch an der Uhrzeit.

Auf meiner Seite möchte ich "unabhängig" vom Seitenlayout ein mittig positioniertes div-Element, das wiederrum aus 3 Spalten bestehen soll.

CSS:
DIV.mittig {
 border: 2px solid #FF0000;
 background-color: #ffc;
 width: 50%;
 margin: 10px 25%;
}
DIV.div_for_message DIV#div_message_left {
 height: 100%;
 width: 60px;
}

DIV.div_for_message DIV#div_message_right {
 height: 100%;
 width: 60px;
}

DIV.div_for_message DIV#div_message_middle {
 height: 100%;
}
HTML:
<div style="width:100%">
  <div class="mittig">

3 Spalten, 1. (links) und 3. (rechts) mit fester Breite, 2. in der Mitte soll den restlichen Platz einnehmen
  </div>
</div>

Mit position kann ich nicht arbeiten, da sonst das restliche Seitenlayout mit Navigation (position:fixed) nicht funktioniert.

Ich bitte um eure Hilfe, bekomme es grad nicht hin.

Vielen Dank und liebe Grüße
sanjoy

  1. Okay, hier meine Lösung. Ich habe deinen Code ein wenig umgeschrieben, du kannst ihn aber leicht wieder anpassen. Damit das funktioniert was du vorhast, musst du den linken und den rechten div-Container mit float:left; bzw. float:right; formatieren - und dann daran denken, im umgebenden div-Container zuerst den links-Container, dann den rechts-Container und dann erst den Mittelcontainer einzufügen.

    Ich habe die Seitencontainer mal grau gemacht, um das Ganze farblich hervorzuheben.

    -------------------------------------------------------------------
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
       <head>
          <style type="text/css" rel="stylesheet" media="screen">
             div.mittig{
                border:2px solid #FF0000;
                background-color:#ffc;
                width:50%;
                margin:10px 25%;
             }
             div#div_message_left{
                float:left;
                height:100%;
                width:60px;
                background-color:gray;
             }
             div#div_message_middle{
                height:100%;
                width:auto;
             }
             div#div_message_right{
                float:right;
                height:100%;
                width:60px;
                background-color:gray;
             }
          </style>
       </head>

    <body>
          <div style="width:100%">
             <div class="mittig">
                <div id="div_message_left">1. Spalte (links)</div>
                <div id="div_message_right">3. Spalte (rechts)</div>
                <div id="div_message_middle">2. Spalte (mitte)</div>
             </div>
          </div>
       </body>
    </html>
    -------------------------------------------------------------------

    1. div.mittig
               div#div_message_left
               div#div_message_middle
               div#div_message_right{

      sehr schlaue namensgebung ;)

      1. Ironie? ;-) Oder wegen des deutsch/englisch-Mix? ;-)

        1. Ironie? ;-) Oder wegen des deutsch/englisch-Mix? ;-)

          nein,

          inhalt, spalte1, spalte2, spalte3 usw wären bessere namen

          was ist wenn mittig nicht mehr mittig ist oder links nicht mehr links?

          klassennamen wie "red_little_arrow" oder ähnliches sind übrigens noch schlimmer

    2. Vielen lieben Dank Raphael,

      hätte ich auch selbst mal drauf kommen können ;-)!
      Komischerweise ist das Ding überhaupt mit mittig im IE6.0! Mal gucken, woran das liegt...

      Liebe Grüße
      Sanjoy

      1. Nicht mittig meinst du? Ich glaube der IE spinnt da ein bisschen.

        Versuch mal das hier:

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

        body{text-align:center;}
                 div.mittig{
                    border:2px solid #FF0000;
                    background-color:#ffc;
                    width:50%;
                    height:500px;
                    margin:10px 0%;
                 }

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

        Mit margin:10px 0% zentrierst du das ganze zuverlässig für jeden vernünftigen Browser, mit body{text-align:center;} erreichst du diesen Effekt auch im IE. Denk aber daran die Text-Ausrichtung bei den inneren Containern wieder auf links zu setzen.

        MFG Raphael