wunderwarzenschwein: 3 Spalten so breit wie zwei

Hi,

ich habe in einer Tabelle in der ersten Zeile 3 Zellen und in der zweiten Zeile 2.
Das Problem ist jetzt, die drei Zellen so auszurichten, daß die mittlere wirklich in der Mitte steht.
Ich müsste in der zweiten Zeile, dann sowas wie colspan="1,5" setzen, was natürlich nicht geht.
Das ganze soll dann ungefähr so aussehen (hoffentlich kommt das rüber)

+------+-------+------+
|      |       |      |
+------+---+---+------+
|          |          |
+----------+----------+

Any ideas?

TIA

wunderwarzenschwein

  1. Hallo,

    +------+-------+------+
    |      |       |      |
    +------+---+---+------+
    |          |          |
    +----------+----------+

    <table>
    <tr><td>1</td><td colspan="2">2</td><td>3</td></tr>
    <tr><td colspan="2">4</td><td colspan="2">5</td></tr>
    </table>

    Viele Grüße,
    Stefan

    1. MOIN!

      Das ist fürwahr das eleganteste, und ganz ohne SChachtelung. Bei Bedarf setzt man jetzt noch die festen Spaltenbreiten in die colgroup:

      <table>

      <colgroup>
      <col width="100">
      <col width="50">
      <col width="50">
      <col width="100">
      </colgroup>

      <tr><td>1</td><td colspan="2">2</td><td>3</td></tr>
      <tr><td colspan="2">4</td><td colspan="2">5</td></tr>
      </table>

      und schon sieht das ganze nett aus...

      Gruß,
      Arne.

  2. Hi,

    +------+-------+------+
    |      |       |      |
    +------+---+---+------+
    |          |          |
    +----------+----------+

    Any ideas?

    Da eine Tabelle immer eine klare gedachte Linie haben muss sprich

    +------+----------+------+
    |      |          |      |
    +------+----------+------+
    |      |                 |
    +------+----------+------+

    die Zellen immer die komplette Breite der vorgänger Zelle annehmen, ist das so wie du dir das vorstellst, nicht möglich.
    Mit colspan kann nur die Erstreckung einer Zelle über mehrere ganze Zellen definiert werden. Einen Mittelweg gibt es nicht.

    Du kannst aber zwei Tabellen nehmen, eine drei Spaltig und eine zweisplatig um dein Problem zu lösen.

    <table width="100%">
    <tr>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    </table>
    <table width="100%">
    <tr>
    <td width="50%"></td>
    <td width="50%"></td>
    </tr>
    </table>

    Gruß

    ueps

  3. Huhu wunderwarenschwein

    +------+-------+------+
    |      |       |      |
    +------+---+---+------+
    |          |          |
    +----------+----------+

    Any ideas?

    ja, "extreme-schachteling"

    also eine äussere Tabelle mit zwei rows enthält in jeder row eine weitere Tabelle, wobei die erstere ihrerseits drei cols und die zweite zwei hat.
    Dann noch entsprechend in den "unter"-Tabellen die Breite der Tds setzen.

    Viele Grüße

    lulu

  4. Hallo Schweinchen,

    mach doch aus der oberen mittleren Zelle einfach zwei und füge sie mit colspan wieder zusammen.

    So etwa:

    <tr>
    <td>...</td>
    <td colspan="2">...</td>
    <td>...</td>
    </tr>
    <tr>
    <td colspan="2">...</td>
    <td colspan="2">...</td>
    </tr>

    Viele Grüße,
    Jürgen

  5. Hallo "Sau" ;-),

    Du machst eine erste Tabelle mit einer Spalte und zwei Zeilen.

    +---------------------+
    |                     |
    +---------------------+
    |                     |
    +---------------------+

    In die erste Zeile schriebst Du eine weitere Tabelle mit drei Spalten und einer Zeile. Die Zellen haben z.B. eine Breite von 50px, macht insgesamt 150px.
    +------+-------+------+
    |      |       |      |
    +------+---+---+------+

    In die zweite Zeile der ersten Tabelle schreibst Du wiederum eine weitere Tabelle mit zwei Spalten à 75px Breite, macht ebenfalls 150px und stellt die Lösung Deines Problems dar:
    +------+---+---+------+
    |          |          |
    +----------+----------+

    <table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>
          <table border="0" cellpadding="0" cellspacing="0" width="150">
            <tr>
              <td width="50"></td>
              <td width="50"></td>
              <td width="50"></td>
            </tr>
          </table>
        </td>
      </tr>
      <tr>
        <td>
          <table border="0" cellpadding="0" cellspacing="0" width="122">
            <tr>
              <td width="75"></td>
              <td width="75"></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>

    Gruß

    Matthias

    1. Sorry, kleiner Fehler im Code:

      <table border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td>
            <table border="0" cellpadding="0" cellspacing="0" width="150">
              <tr>
                <td width="50"></td>
                <td width="50"></td>
                <td width="50"></td>
              </tr>
            </table>
          </td>
        </tr>
        <tr>
          <td>
            <table border="0" cellpadding="0" cellspacing="0" width="150">
              <tr>
                <td width="75"></td>
                <td width="75"></td>
              </tr>
            </table>
          </td>
        </tr>
      </table>

      Matthias

    2. Hi,

      Hallo "Sau" ;-),

      Wenn schon, dann bitte "Eber"! ;-)

      Danke an alle, die Lösung mit der extra Tabelle in der ersten Zeile funktioniert:

      <table>
       <tr>
        <td align="center" colspan="3">
         <table width="100%">
          <tr>
           <td>foo</td>
           <td align="center">oder</td>
           <td>bar</td>
          </tr>
         </table>
        </td>
       </tr>
       <tr>
        <td>foo</td>
        <td>bar</td>
       </tr>
      </table>

      wunderwarzenschwein

      1. Hi "Eber",

        <table>
        <tr>  1. Zeile Tabelle 1
          <td align="center" colspan="3">

        ^------ drei Zellen

        .... weitere Tabelle
          </td>
        </tr>
        <tr>  2. Zeile Tebelle 1
          <td>foo</td>  1. zelle
          <td>bar</td>  2. zelle

        ^-------------- hier nur zwei Zellen (foo und bar)

        </tr>
        </table>

        Du hast bei dem Code in der 2. Zeile noch eine Zelle zuwenig!!!

        Gruß

        Matthias

        1. Hi,

          <td align="center" colspan="3">
                                           ^------ drei Zellen

          Heißt im Original (http://www.raumentwicklung.de/re/studium/grundstudium/index.html auch colspan='2', nur vertippt.

          wunderwarzenschwein