Johannes Brenner: Operas Probleme mit Tabellen

Ich habe ein Problem mit Opere (3.6): Ich moechte den kompletten Inhalt meiner Seiten in eine 600 pixel breite Tablle packen, damit sie bei allen Bildschirmaufloesungen gleich aussieht.
Das Problem ist nun dieses: Wenn ich in dieser Haupttabelle nun zwei weitere Tabellen nebeneinander benutze (dazwischen ist der Text der Seite), dann schiebt Opera die rechte Tabelle immer aus dem Bildschirm heraus!
Verwirrend? Hier der Beispiel-Code:

<!-- Haupttabelle -->
<TABLE WIDTH=740 BORDER=1>
<TR><TD>
Bla Bla
<BR>
<BR>
<TABLE WIDTH=250 ALIGN=LEFT BORDER=1>
<TR><TD>
Inner Table LEFT<BR>
<img src="tst1.jpg" width=250 height=300>
</TD></TR>
</TABLE>
<TABLE WIDTH=200 ALIGN=RIGHT BORDER=1>
<TR><TD>
Inner Table RIGHT<BR>
<img src="tst2.jpg" width=250 height=300>
</TD></TR>
</TABLE>
Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar.
</TD></TR>
</TABLE>

Hat irgendwer ne Ahnung, woran das liegen koennte und was man dagegen tun kann?
Ich freue mich ueber jeden Kommentar!

Johannes

  1. Sorry, ich habe gerade zwei Fehler in meinem Beispielcode entdeckt
    Hier ist die richtige Variante:

    <!-- Haupttabelle -->
    <TABLE WIDTH=600 BORDER=1>
    <TR><TD>
    Bla Bla
    <BR>
    <BR>
    <TABLE WIDTH=250 ALIGN=LEFT BORDER=1>
    <TR><TD>
    Inner Table LEFT<BR>
    <img src="tst1.jpg" width=250 height=300>
    </TD></TR>
    </TABLE>
    <TABLE WIDTH=200 ALIGN=RIGHT BORDER=1>
    <TR><TD>
    Inner Table RIGHT<BR>
    <img src="tst2.jpg" width=200 height=300>
    </TD></TR>
    </TABLE>
    Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo r. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar.
    </TD></TR>
    </TABLE>
    Ich hoffe, so stimmts.
    Johannes

    1. Hi Johannes!

      Probiers mal so:

      <table border=1>
      <tr>
        <td colspan=3>
         oben quer über alle Spalten
        </td>
      </tr>
      <tr>
        <td>
         <table height=300 border=1>
          <tr>
           <td width=250>
            linke Tabelle <br> <br>
            viel Text viel Text viel Text viel Text viel Text viel Text viel Text
            viel Text viel Text viel Text viel Text viel Text viel Text viel Text
           </td>
          </tr>
         </table>
        </td>
        <td width=150>
         Text zwischen den Tabellen <br> <br>
         viel Text viel Text viel Text viel Text viel Text viel Text viel Text
         viel Text viel Text viel Text viel Text viel Text viel Text viel Text
        </td>
        <td>
         <table height=300 border=1>
          <tr>
           <td width=200>
            rechte Tabelle <br> <br>
            viel Text viel Text viel Text viel Text viel Text viel Text viel Text
            viel Text viel Text viel Text viel Text viel Text viel Text viel Text
           </td>
          </tr>
         </table>
        </td>
      </tr>
      </table>

      Zu beachten ist, jede einzelne Zelle, deren Inhalt größer sein könnte als die gewünschte Breite, mit einem "width" zu versehen. Nur so erzwingst du, dass nicht die ganze Tabelle ausversehen breiter wird. Ausserdem schaffst du auch so einen Zeilenumbruch bei längerem Text.
      Eine Rechnerei wird es so allerdings, auf die gewünschten 600px Breite insgesamt zu kommen (width + cellpadding + cellspacing).

      Abraten würde ich dir von einer Begrenzung mit CSS-Angaben. Da erlebst du die tollsten Sachen.

      Joseph

    2. Hallo Johannes,

      ich denke die sache ist mit nur einer tabelle am einfachsten zu lösen, da man mit den align-sachen immer vorsichtig sein muss. mein vorschlag:

      <TABLE WIDTH=600 BORDER=1>
      <TR>
      <TD colspan=3>
      Bla Bla<BR><BR>
      </TD>
      </TR>

      <TR>
      <TD width=250>
      Inner Table LEFT<BR>
      <img src="tst1.jpg" width=250 height=300>
      </TD>

      <TD>  
      Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo r. Foo Bar.  Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar.  Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar.  Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar. Foo Bar.  Foo Bar. Foo Bar. Foo Bar.  
      </TD>  
      
      <TD width=200>  
      Inner Table RIGHT<BR>  
      <img src="tst2.jpg" width=200 height=300>  
      </TD>  
      

      </TR>
      </TABLE>

      fals ich jetzt dein problem nicht richtig verstanden haben sollte, schreib einfach noch mal, aber so ist die größe von 600px immer gewährleistet

      der Flo (theflow.de)