Stefan der hilflose: Feste und variable Tabellenzellen

Hallo,

auf die Gefahr hin, dass
es in irgendwelchen FAQ oder im Forum-Archiv steht (wobei
ich brav gesucht und nix gefunden habe): Ein Standard-HTML-Frage.

Folgendes: Ich habe eine Tabelle variabler Breite

<table width="100%">

eine fest definierte Zelle links

<td width="180">inhalt</td>

eine "dünne" zellen-linie daneben

<td width="1"><img src="spacer.gif" width="1" height="1"></td>

und dann eine Zelle, die den rest der seite ausfüllen soll.

<td> </td>

Das funktioniert alles blendend mit dem Gecko und dem IE,
aber mein Sorgenkind Netscape 4.x spielt nicht mit.
Die mittlere Spacer-Zelle wird einfach 14 Pixel auseinandergezogen
und gibt eine fetten schwarzen Balken.
Hat jemand eine Lösung?

(PS: Die restlichen Angaben habe ich aus dem Posting rausgenommen - nur auf die Gefahr hin, dass jemand spekuliert ich hätte Angaben vergessen).

Grüsse

Stefan

  1. Hallo Namensvetter,

    <table width="100%">
    <td width="180">inhalt</td>
    <td width="1"><img src="spacer.gif" width="1" height="1"></td>
    <td> </td>

    also die letzte Zeile entweder

    <td width="100%"> </td>

    oder, wenn es damit nicht klappt

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

    Eigentlich sollte Variante Nr.1 funktionieren.

    MfG, Stefan

    1. <td width="100%"> </td>

      funktioniert, in die erste Zelle (die mit width="180") muß dann aber
      noch ein Stabilisierungsgif rein, also z.Bsp.

      <td><img src="spacer.gif" height="1" width="180"><br>hier die eigentlichen inhalte der Zelle</td>

      1. Hallo,

        funktioniert, in die erste Zelle (die mit width="180") muß dann aber
        noch ein Stabilisierungsgif rein, also z.Bsp.

        <td><img src="spacer.gif" height="1" width="180"><br>hier die eigentlichen inhalte der Zelle</td>

        danke für die Mühe, komischerweise funktioniert
        das bei mir auch nicht (siehe Quellcode-Posting).
        Vielleicht hab ich ja wieder was übersehen :-/

        Grüsse

        Stefan

    2. Hallo Namensvetter :) ,

      also die letzte Zeile entweder

      <td width="100%"> </td>

      oder, wenn es damit nicht klappt

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

      hilft leider nicht,
      jetzt mal genug der Theorie, hier ist mal
      der Quellcode, vielleicht liegt es ja an
      der Reihe darüber:

      <table width="100%" cellpadding="0" cellspacing="0" border="0">
                     <tr>
                         <td width="181" bgcolor="#000000" colspan="2"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
                         <td width="100%"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
                     </tr>
                     <tr>
                         <td width="180" bgcolor="#FFFFFF" class="text" valign="top"><table width="180" cellpadding="0" cellspacing="0" border="0">
                         <tr>
                             <td bgcolor="#BAC8D3" onmouseout="change('',this,0);" onmouseover="change('#819BB0',this,1);"><table width="180" cellpadding="2" cellspacing="0" border="0">
                             <tr>
                                 <td width="10" height="18"><img src="../gfx/spacer.gif" width="10" height="18" border="0" alt="spacer"></td><td class="navi"><a href="" id="link">Projektverwaltung</a></td>
                             </tr>
                             </table>
                             </td>
                         </tr>
                         </table>
                         </td>
                         <td width="1" bgcolor="#000000" valign="top"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
      <!-- Hier hab ich das mal geändert -->
                         <td width="100%">
                         <table width="100%">
                         <tr>
                             <td> </td>
                         </tr>
                         </table></td>
                     </tr>
              </table>

      1. Hallo nochmal,

        <!-- Hier hab ich das mal geändert -->
                           <td width="100%">

        Das Attribut (und der dazugehörige Wert) muß da raus, den Rest so
        lassen wie gepostet.

        MfG, Stefan

      2. jetzt mal genug der Theorie, hier ist mal
        der Quellcode, vielleicht liegt es ja an
        der Reihe darüber:

        <table width="100%" cellpadding="0" cellspacing="0" border="0">
                       <tr>
                           <td width="181" bgcolor="#000000" colspan="2"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
                           <td width="100%"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
                       </tr>

        Es LIEGT an der Reihe darüber. Breitendefinitionen wirken nur in der ERSTEN Tabellenreihe. Alles drunter wird ignoriert. Dein Problem: Du definierst in der ersten Reihe mit colspan=2 zwei Spalten in einer. Da klappt das mit der Breitenangabe nicht (wie soll die denn aufgeteilt werden?).

        Lösung: Die erste Zeile darf kein colspan haben, und jede Spalte muß eine definierte Breite kriegen (oder nur die linken Spalten). Anders gehts nicht.

        - Sven Rautenberg

        1. Hallo,

          Lösung: Die erste Zeile darf kein colspan haben, und jede Spalte muß eine definierte Breite kriegen (oder nur die linken Spalten). Anders gehts nicht.

          hab's gelöst bekommen, zwecks vollständigkeit einfach mal
          den Code hier, vielleicht will ihn jemand irgendwann noch.
          Des Rätsels Lösung liegt in der Festdefinition
          der rechten Spalte - <td width="100%"> </td>
          hilft nur begrenzt - die Lösung mit der 100%-Tabelle
          innerhalb der Zelle ohne Angabe direkt bei der Zelle hilft gar nicht.
          Die Lösung ist so einfach wie unlogisch:
          Die rechte Zelle wird fest definiert - hierbei kann auch
          ein viel zu hoher Wert angegeben werden:

          <tr>
                             <td width="180"> </td>
                             <td width="1"><img src="../gfx/spacer.gif" width="1" height="1" border="0" alt="spacer"></td>
                             <td width="1200"> </td>
                         </tr>

          rein von der Logik sollte es bei 1024*768 jetzt die Tabelle sprengen - tut es aber nicht. Zumindest nicht in NN 4.x, IE und Mozilla (NN 6).

          Grüsse

          Stefan