André Laugks: Netscape 6/7, Opera 6 und overflow:auto

Hallo!

Ich habe in einer Tabellenzelle ein div gepackt. Ist der Text "größer" als die Tabellenzelle, soll ein Scrollbalken erscheinen. Das div soll die gesamte Tabellenzelle einnehmen.

.textbereich { overflow:auto;height:100%;margin:0px; }

NN4 ignoriert es und die Tabellenzelle/Tabelle breitet sich komplet aus, also mehr als height=100%. Nun "muß" man die gesamte Seite scrollen. Da kann die Grafikerin und ich sehr gut mit leben. Der Inhalt ist also zugänglich.

In Opera6 wird aber das abgeschnitten, was nicht mehr in die Zelle passt.

Nun dachte ich mir, dem div einfach die Klasse "textbereich" zu setzen, wenn der Browser NN6/7 oder IE ist. Wenn nicht, muß die gesamte Seite gescrollt werden, also alles super.
Im IE funktioniert es auch, aber NN7 weigert sich overflow:auto anzuwenden.

document.getElementById('overflow').setAttribute("class", "textbereich");

Das ich das div ansteuern kann, habe ich über CSS-Eigenschaften getestet.

Es macht eigentlich Sinn das es nicht funktioniert, da die Tabelle mit dem gesamten Text aufgebaut wird und ich dann erst dem div eine Eigenschaft zuweise, bei der die Tabellenzelle/Tabelle kleine sein könnte. Der IE spielt da mit. Ist NN6/7 einfach zu undynamischer?

// Netscape 6 und 7 kein overflow:auto, Scrollbalken für gesamte Seite
// in Opera 6 wird der Text nicht abgeschnitten, gesamte Seite kann gescrollt werden
http://www.kombinat-laugks.de/selfhtml/nn_overflow/index_mit_js.html

// -- Klasse -- wird gesetzt
// Netscape 6 und 7 Sctollbalken nur für Textbereich
// in Opera 6 wird der Text abgeschnitten
http://www.kombinat-laugks.de/selfhtml/nn_overflow/index_ohne_js.html

// -- Klasse -- wird nicht gesetzt
// Tabelle breitet sich auf Browserfenstergröße aus.
<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">
<tr>
 <td colspan="2" height="1%" width="100%"><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="300" alt="" border="0"></td>
 <td width="99%" height="99%" valign="top" bgcolor="#cccccc">
<div id="overflow">
[... ganz viel Text ]
</div>
 </td>
</tr>
</table>

Hat jemand ein Lösungsvorschlag?

MfG, André Laugks

  1. Hallo!

    Kleine Korrektur!

    // -- Klasse -- wird gesetzt
    // Netscape 6 und 7 kein overflow:auto, Scrollbalken für gesamte Seite
    // in Opera 6 wird der Text nicht abgeschnitten, gesamte Seite kann gescrollt werden
    http://www.kombinat-laugks.de/selfhtml/nn_overflow/index_mit_js.html

    // -- Klasse -- wird nicht gesetzt
    // Netscape 6 und 7 Sctollbalken nur für Textbereich
    // in Opera 6 wird der Text abgeschnitten
    http://www.kombinat-laugks.de/selfhtml/nn_overflow/index_ohne_js.html

    MfG, André Laugks

  2. Hallo André,

    Hat jemand ein Lösungsvorschlag?

    Warum nimmst Du nicht einen CSS-Hack? Der geht auch ohne JavaScript.

    http://skop.net/self/css_browserweiche.html

    Christian

    --
    Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
    1. Hallo!

      Warum nimmst Du nicht einen CSS-Hack? Der geht auch ohne JavaScript.

      Den kannte ich noch nicht, daß man das detaliert treiben kann. Schade ist, das Opera 7 overflow:auto kann. Egal, muß eben auch in Opera 7 die gesamte Seite gescrollt werden, was ja kein Problem ist.

      MfG, André Laugks
      L-Andre @gmx.de

      1. Hallo André,

        Schade ist, das Opera 7 overflow:auto kann. Egal, muß eben auch in Opera 7 die gesamte Seite gescrollt werden, was ja kein Problem ist.

        Oh, Roland hat die Seite noch nicht aktualisiert. Opera 7 kann man auch erwischen:

        [pref:t=35661&m=196243]

        Christian

        P.S.: OT: Ich hatte Dir mal einen TuT-Beitrag gemailt.

        --
        Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
        1. Hallo!

          Oh, Roland hat die Seite noch nicht aktualisiert. Opera 7 kann man auch erwischen:

          [pref:t=35661&m=196243]

          Aiaiai, daß ist aber fein. Ich habe ein Menü was mit Clipping arbeitet. Es wird immer nur ein Teilbereich gezeigt und man kann dann scrollen. Opera6 kennt ja kein Clipping. Opera7 kommt damit aber klar. Für Opera<=6 kann ich dann die CSS so erstellen, daß die Seite zugänglich ist. Jetzt überlagern sich ein paar Layer und man kommt an einige Menüpunkte nicht ran.

          Blöd ist nur, ich bin der einzige der mit Opera auf diese Seite geht. ;-(

          P.S.: OT: Ich hatte Dir mal einen TuT-Beitrag gemailt.

          Mir? Nee, das war ein PHP-TuT.

          MfG, André Laugks

          1. Hallo André,

            Blöd ist nur, ich bin der einzige der mit Opera auf diese Seite geht. ;-(

            Tja, that's life.

            Mir? Nee, das war ein PHP-TuT.

            Hmm. Anscheinend ist da 'ne Mail verlorengegangen - ich hatte Dir um den Jahreswechsel einen weiteren PHP-TuT-Beitrag zum Thema Content Negotiation geschickt - mache ich gleich nochmal.

            Christian

            --
            Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.