André Laugks: overflow:auto, Netscape 6 verschluckt Text

Hallo!

Ich habe hier eine Tabellenkonstrukt, welches die Seite in drei Teile teilt. Die erste Zeile hat eine Zelle und die zweite Zeile hat zwei Zellen.

In einer Zelle soll Text stehen. Wenn mehr Text als Platz da ist, soll ein Scrollbalken in der Zelle angeboten werden. Das ganze funktioniert im IE und Netscape 7. In Netscape 4 und Opera 6 und 7 lasse ich ein Scrollbalken für die gesamte Seite zu.

Ich möchte den Layer in eine Tabelle packen, weil Netscape 4 ja kein Scrollbalken anbietet, wenn Layer über den Anzeigebereich hinaus ragen, was bei zuviel Text passieren kann. Netscape 4 ignoriert overflow und bietet bei zu viel Text ein Scrollbalken für die gesamte Seite an.

Das Problem ist nun, Netscape 6 verschluckt den Text! :-(

Die äußere Tabelle ist dazu da, damit die inner Tabelle nicht höher als 100% wird. Die innere Tabelle hat ja für die Höhe einer Zeile 99% angegeben. So hab ich für die obere Zeile fest und die untere dynamisch.

// JavaScript
var w=window.innerWidth; /* für Netscape 4 */

Für Opera nehme ich andere StyleSheets. Die für Netscape 6/7 habe ich jetzt mal direkt per style angegeben.

-> class="width:100%" für alle außer NN4

<table border="0" width="&{w-1};" class="width:100%" height="100%" cellpadding="0" cellspacing="0"><tr><td valign="top">

<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">
<tr><td colspan="2" height="1%" width="100%" bgcolor="#000000"><img src="../bilder/layout/0gif.gif" width="1" height="225" alt="" border="0"></td></tr>
<tr>
<td width="1%" height="99%" bgcolor="#999999"><img src="../bilder/layout/0gif.gif" width="290" height="262" alt="" border="0"></td>
<td width="99%" height="99%" valign="top" bgcolor="#cccccc">
<div style="overflow:auto;margin:0px;height:100%;">
<!-- ================================= TEXT ============================================================ -->
Das ARPA-Net
Die Ursprünge des heutigen Internet reichen in die 60er Jahre zurück. Es war die Zeit des Kalten
Krieges zwischen den beiden Weltmächten USA und UDSSR. Neue Impulse in der Elektronischen [...].

GANZ VIEL TEXT

<!-- ================================= TEXT ============================================================ -->
</div>

</td></tr></table>

</td></tr></table>

Entferne ich die äußere Tabelle, dann zeigt mir Netscape 6 den Text an. Dann hat aber die Tabelle auch keine Höhe mehr vor 100%, sondern mehr als 100%, wegen den 99% beim <td>.

Ich weiß jetzt auch nicht mehr, woran es liegen kann. Ich habe schon probiert die Tabelle umzubauen, hat aber auch nicht geholfen.

Im Netscape 6/7 sind leider nicht so dynamisch wie der IE, deshalb kann ich mit JS auch nicht nach helfen.

Achja, das ist natürlich nicht W3C-Konform. Vielen hier wird dieses Konstrukt auch schwer im Magen liegen... ;-)

MfG, André Laugks

--
L-Andre @ gmx.de
  1. Hallo!

    Ich hatte mir ein paar Wege überlegt, wie ich das Problem lösen kann. Man kann einfach den Layer mit dem Text im Netscape per JavaScript absolute positionieren, holt den Layer einfach aus der Tabellenzelle raus. Die Breite und Höhe ist dann einfach zu berechnen. Es funktioniert auch ganz gut.

    Vielleicht hat doch noch jemand eine Idee, warum das mit der Tabelle nicht im Netscape 6 funktioniert.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Hi,

      Vielleicht hat doch noch jemand eine Idee, warum das mit der Tabelle nicht im Netscape 6 funktioniert.

      Weil Netscape 6 auf einer unfertigen (und daher auch fehlerhaften) Version des Mozilla beruht?

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.