Valentin Wirth: 2 Spalten mal ohne Tabelle

Huhu,

Das ist mir ja jetzt peinlich aber ich bekomme es nicht hin eine einefache 2 Spalte Tabelle in CSS und Divs zu setzen so das beide Spalten oben gleich anfangen:

Die Tabelle will ich nicht mehr seit ich mal gesehen hab wie schön der HTML Quelltext einer mit CSS gesetzten Seite aussehen kann.

<table>
  <tr>
    <td>Menuespalte mit Text</td>
    <td>Fliesstextspalte lalala ...</td>
  </tr>
</table>

Anstatt soll der HTML Teil so aussehen:

<div id="Menuespalte">Menuespalte mit Text</div>
<div id="Text">Fliesstextspalte lalala ...</div>

Was mach ich nun mit dem Stylesheet? Es soll am besten auch bei alten Browsern gehen :) Ich hab versucht dem ersten ein margin right von 75% zu geben und dem Text ein margin-left von 30% und ein negativen margin-top aber so fängt er nie auf einer festen Höhe an. Irgendwann hatte ich auch schon mal absolute Positionierung versucht aber das funktionierte in älteren Browsern nicht...

Wie macht ihr das?

mfg Valentin

  1. hi,

    <div id="Menuespalte">Menuespalte mit Text</div>
    <div id="Text">Fliesstextspalte lalala ...</div>

    Was mach ich nun mit dem Stylesheet?

    du möchtest dich mit der CSS-eigenschaft float vertraut machen.

    Irgendwann hatte ich auch schon mal absolute Positionierung versucht

    nein, davon möchtest du dringend wieder abstand nehmen, wenn es um anforderungen wie die obige geht.

    gruss,
    wahsaga

    --
    http://wazgnuks.net/ - back from the dead
    1. du möchtest dich mit der CSS-eigenschaft float vertraut machen.

      Danke für den Vorschlag aber der lange Text soll auch weiter auf seiner Seite bleiben, auch wenn das Menu zu Ende ist und nicht das Menü umfließen. So wie bei einer Tabelle eben auch.

      1. Hi,

        du möchtest dich mit der CSS-eigenschaft float vertraut machen.

        Danke für den Vorschlag aber der lange Text soll auch weiter auf seiner Seite bleiben, auch wenn das Menu zu Ende ist und nicht das Menü umfließen. So wie bei einer Tabelle eben auch.

        ok, dann möchtest Du Dich außerdem mit der CSS-Eigenschaft margin vertraut machen..;-)

        freundliche Grüße
        Ingo

        1. ok, dann möchtest Du Dich außerdem mit der CSS-Eigenschaft margin vertraut machen..;-)

          ok, das kann er natürlich machen, ist aber nicht notwendig. Die CSS-Eigenschaft float reicht da vollkommen aus, muß aber auf alle divs angewendet werden. Ein nachfolgendes clear z.B. auf ein <br> angewandt erzeugt den Übergang in die nächste Zeile. Damit läßt sich problemlos eine optische NxM-Tabelle erzeugen. Echte Tabellen gehören in Excell oder gleichartige Programme.

          Gruß
          Avalon

  2. Hi

    Wie macht ihr das?

    Beispiel:
    http://accessat.c-net.us/test/template-2col.html

    Gruss
    chlori

  3. Hallo,

    Das ist mir ja jetzt peinlich aber ich bekomme es nicht hin eine einefache 2 Spalte Tabelle in CSS und Divs zu setzen so das beide Spalten oben gleich anfangen:

    Wenn Dir die Breiten der div-Elemente egal sind, dann könntest Du den beiden ein "display:inline" verpassen. Wenn nicht, dann kannst Du dem linken div-Element ein "float:left;width:_px" verpassen.

    Beste Grüße
    Viennamade

  4. FsmE,

    <div id="Menuespalte">Menuespalte mit Text</div>
    <div id="Text">Fliesstextspalte lalala ...</div>

    Versuchs mal so:

    <div id="BeideSpalten">
     <div id="Spalte1">Irgendwas</div>
     <div id="Spalte2">Nochirgendwas</div>
    </div>

    im CSS:

    #BeideSpalten {position:absolute}
    #Spalte1 {position:absolute;left:0px;width:49%;}
    #Spalte2 {position:absolute;right:0px;width49%;}

    Was mach ich nun mit dem Stylesheet? Es soll am besten auch bei alten Browsern gehen :)

    Es schmerzt, sich von liebgewonnenen Dinobrausiern verabschieden zu müssen, aber irgendwann ist es halt soweit. z.B. wenn die Möglichkeiten von CSS ausgereizt werden sollen.

    In sensibus mistis,
    HaThoV

    --
    Besuchen Sie http://www.4html.de, wenn Sie an einer
    Neuen Generation von Web-Publishing mitarbeiten wollen.
    1. hi,

      #BeideSpalten {position:absolute}
      #Spalte1 {position:absolute;left:0px;width:49%;}
      #Spalte2 {position:absolute;right:0px;width49%;}

      wie schon oft gesagt, absolute positionierung ist so ziemlich die schlechteste möglichkeit, die hier zum einsatz kommen könnte.

      Es schmerzt, sich von liebgewonnenen Dinobrausiern verabschieden zu müssen, aber irgendwann ist es halt soweit. z.B. wenn die Möglichkeiten von CSS ausgereizt werden sollen.

      du redest vom ausreizen der möglichkeiten von CSS - und bietest dann hier absolute positionierung als "lösung" an? das passt nicht besonders gut zusammen.

      gruss,
      wahsaga

      --
      http://wazgnuks.net/ - back from the dead