Raphael: nicht funktionierender overflow

Hi,

um den unnützen scrollbalken-bereich bei normalhoher seite bisher mit SCROLL="auto" verhindert. habe nun im zusammenhang mit css-formatierung gelesen, dass dies ein nicht-w3c-konformes attribut sei und es gegen STYLE="overflow:auto" ausgetauscht.

das haut mir aber das komplette layout zusammen unter netscape6.1 und 7.0, sprich fast die ganze seite ist leer, ganz oben habe ich einen ca. 2cm hohen bereich, der von horizontalen und vertikalen scrollbalken umgeben ist.

kann mir das bitte jemand allgemeinverständlich erklären?

gruss raph

  1. Hallo Raphael,

    kann mir das bitte jemand allgemeinverständlich erklären?

    Ohne dass Du den betreffenden Quellcode bzw. eine URI der Seite angibst
    wohl schwerlich. Nicht jeder hier im Forum kann sich bei der aktuellen
    Wirtschaftslage eine Glaskugel leisten. ;-)

    • Tim
    --
    Ich weiß nie, was für eine Signatur ich nehmen sollte.
    1. Hallo Tim,

      Ohne dass Du den betreffenden Quellcode bzw. eine URI der Seite angibst
      wohl schwerlich. Nicht jeder hier im Forum kann sich bei der aktuellen
      Wirtschaftslage eine Glaskugel leisten. ;-)

      ging nicht davon aus, dass jemand den quellcode benötigt wegen eines attributs ;-) aber bitte

      http://www.bestguide.org/test1.html (overflow:auto)
      http://www.bestguide.org/test2.html (scroll:auto)
      http://www.bestguide.org/test3.html (keine Angabe)

      gruss

      1. Hi,

        http://www.bestguide.org/test1.html (overflow:auto)
        http://www.bestguide.org/test2.html (scroll:auto)
        http://www.bestguide.org/test3.html (keine Angabe)

        die sehen alle gleich aus, wo liegt jetzt das Problem?

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist
      2. Hallo Raphael,

        ging nicht davon aus, dass jemand den quellcode benötigt wegen eines
        attributs ;-) aber bitte

        Man weiß nie, was sich da alles beeinflußt. Und zuviele Informationen schaden
        nicht unbedingt.

        Also!
        Diese Dateien werden in meinem Mozilla wie folgt angezeigt:

        http://www.bestguide.org/test1.html (overflow:auto)

        Man sieht aus irgendeinem Grund nur die Hintergrundtextur. Auch keinerlei
        Veränderung bei Verkleinerung des Browserfensters. Weswegen das so ist,
        weiß ich nicht.

        http://www.bestguide.org/test2.html (scroll:auto)

        Seite wird sehr gut angezeigt. Bei Verkleinerung des Browserfensters erhält
        erst das Browserfenster, bei weiterer Verkleinerung dann auch das div
        Scrollbalken. Bei beiden mmer dann wenn der Inhalt nicht mehr in die
        Anzeigefläche paßt. Also wie erwartet. Ich denke das falsche scroll-Attribut
        wird einfach ignoriert.

        http://www.bestguide.org/test3.html (keine Angabe)

        Dasselbe Verhalten wie bei Nummer 2. Was mich zu obiger Vermutung gebracht
        hat, dass das falsche scroll-Attribut ignoriert wird.

        overflow wird in den diversen Browsern immer noch recht buggy unterstützt
        oder liefert irgendwelche unerwarteten Ergebnisse. Am sichersten fährt man,
        wenn man für globale Angaben wie body oder html es wegläßt und den Browser
        in seiner standardisierten um vom Nutzer gewohnten Verhaltensweise läßt.

        Es ist nicht ganz klar, was Du nun willst. Ich habe etwas mit den
        verschiedenen Zuständen von overflow rumexperimentiert, um Deine
        Problembeschreibungen nachvollziehen zu können.

        1 Du klagst über einen unnützen Scrollbalken.

        1.1 Ich erhalte sowas nur, wenn ich dem body die Eigenschaft overflow:scroll
            zuordne. Laut SELFHTML (1) soll das auch so. Dann soll der Webbrowser auf
            jeden Fall Scrollbalken anzeigen, wenn ich das richtig verstehe. In
            Mozilla und Opera sind das dann nicht Scrollbalken am Rande des
            Anzeigebereiches, sondern im Dokument. Das erklärt sich dadurch, daß
            das body-Element nicht, wie die meisten erwarten über den ganzen
            Anzeigebereich geht, sondern so groß ist, wie sein Inhalt. Der
            Anzeigebereich wird durch html definiert. Der IE6 macht es so, wie man es
            intuitiv erwarten würde, aber trotzdem falsch.

        1.2 Sonderfall IE6:
            Bei keiner Angabe von overflow zeigt er einen unnützen Scrollbalken am
            rechten Rand. Das meinst Du wahrscheinlich. Internet Explorer eben. Das
            Ding ist kaputt. Ist aber auch schon bekannt (2).

        2 Du klagst über ein "Zusamenhauen" des gesamten Layouts unter Mozilla bzw.
          Netscape

        Siehe 1.1 - es liegt daran, daß das body-Element eben nicht die ganze
          Anzeigefläche einnimmt. Da müßte man entweder mit overflow an html
          rumexperimentieren oder body umdefinieren. Schwierig sowas. Ich glaube
          so ganz hat noch niemand, selbst beim W3C niemand, das Box Model und die
          verschiedenen Zustände von display begriffen. Aber ist nur eine Vermutung.

        Was hilft Dir das nun jetzt? Wenn ich Dein Eingangsposting lese, willst Du,
        dass einfach nur, daß dieser Scrollbalken im IE6 wegkommt. Da kann man jetzt
        verschiedene Kombinationen ausprobieren, die aber alle unerwünschte
        Nebeneffekte haben:

        keine Angabe     (Unnützer Scrollbalken im IE)
        overflow:auto    (Mozilla zeigt nichts mehr an)
        overflow:scroll  (Es werden auf jeden Fall Scollbalken angezeigt)
        overflow:visible (Beim Verkleinern des Fensters gibt es keine Scrollbalken mehr)
        overflow:hidden  (Bug im Mozilla, siehe #foot
                          beim Verkleinern keine Scrollbalken mehr)

        Wie Du jetzt entscheidest, bleibt Dir überlassen. Ich würde jede Variante
        ausschließen, bei denen es beim Verkleinern des Fensters keine Scrollbalken
        mehr gibt; diese sind ein zu wichtiges Element des Benutzers. Die
        Variante, dass auf jeden Fall Scrollbalken angezeigt werden wirst Du
        wahrscheinlich konsequent ausschließen. Daß ein wichtiger Browser nichts
        anzeigt ist auf ein dickes NO. Also bleibt nur die Variante mit dem
        Nebeneffekt, daß im IE ein harmloser Scrollbalken ist. Die harmloseste
        Variante also.

        Sorry.
        An Deiner Stelle wäre ich jetzt so genervt, daß ich eine Änderung des
        Layoutkonzeptes in Betracht ziehen würde. Was Du eventuell sowieso tun
        solltest, siehe Dein Layout im Opera.

        Ansonsten, wenn Du noch Lust hat, kannst Du noch etwas rumexperimentieren.
        Ich hätte da ein paar Vorschläge:

        • overflow auf html
        • overflow auf body bzw. html in schlichten Testfällen mit "normalen" Inhalt.
        • overflow auf body bzw. html in nicht ganz so schlichten Textfällen mit
            absolut positionierten Inhalten.
        • overflow auf body bzw. html in nicht ganz so schlichten Textfällen mit
            relativ positionierten Inhalten. (Dein Problem)

        Systematische Vorgehensweise liefert wahrscheinlich ein paar Erkenntnisse
        über overflow und deren Umsetzung in den diversen Browsern. Vielleicht hast
        Du Lust einen Artikel für den SELF-Raum zu schreiben? ;-)

        (1) http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#overflow
        (2) http://www.xs4all.nl/~ppk/css2tests/intro.html

        • Tim
        --
        Ich weiß nie, was für eine Signatur ich nehmen sollte.