Nobb: Problem mit Sroll-Leiste

Hi,
ich habe das Problem das mir mein Browser (IE6 auf was anderem konnte ich leider noch nicht testen) immer unerwünschte horizontale Scroll-Leisten in einigen Frames anzeigt. Und zwar sind das immer die Seiten, die nicht in voller Länge auf dem Monitor angezeigt werden können. Das an sich ist auch erwünscht, doch der Browser nimmt dafür einen Teil vom rechten Rand des Frames und das bedeutet, dass er auf ein Mal auch eine horizontale Scroll-Leiste für die paar Pixel benötigt. Eine Scroll-Leiste in der Horizontalen will ich aber überhaupt nicht. Ich habe meine Seiten-Breite eh dynamisch festgelegt und auf 10 Pixel mehr oder weniger in der Breite kommt es mir nicht an. Aber eine Scroll-L. in der Horizontalen will ich nicht haben. Ich denke mal, dass sich mein Problem von alleine löst, wenn ich dem IE irgendwie folgendes beibringen kann: wenn er eine Scroll-Leiste am rechten Rand anzeigen muss soll die Breite, die er für das Frame berechnet, nicht vom linken zum rechten Rand sondern vom linken Rand zum linken Rand der Scroll-Leiste berechnen. Dann würde die Seite weiterhin in ihrer vollen Breite angezeigt werden und ich währe glücklich. :)
So, viele Worte um ein simples Problem und ich hoffe ich habe es verständlich erklärt. Ansonsten löchert mich (mit Fragen). Wer kann mir einen Tipp geben?
Gruß Nobb

  1. Vielleicht sollte ich noch dazu sagen:
    Ich habe den Inhalt der Seite verkleinert, so dass er auch mit Scroll-Leiste ganz auf dem Bildschirm zu sehen war. Es war folglich nur noch Hintergrund unter der rechten Scroll-Leiste verdeckt, doch auch dann ist die untere Leiste nicht verschwunden. :(

  2. Hallo Nobb,

    ich habe das Problem das mir mein Browser (IE6 auf was anderem konnte ich leider noch nicht testen) immer unerwünschte horizontale Scroll-Leisten in einigen Frames anzeigt.

    Ich hab da mal was zusammengestellt, ist allerdings noch eine Beta-Seite mit Beta-Texten, aber vielleicht hilft es Dir weiter:

    http://visuelya.arcsite.de/pgs/item.php?id=00008

    Gruß aus Köln-Ehrenfeld,

    Elya

    --
    "Alle mal an die Nase fassen, und zwar an die eigene": http://forum.de.selfhtml.org/archiv/2003/9/57903/#m324482
    _____________
    Wikipedia: Die freie Enzyklopädie http://de.wikipedia.org
    1. Hallo Elya

      Hallo Nobb,

      ich habe das Problem das mir mein Browser (IE6 auf was anderem konnte ich leider noch nicht testen) immer unerwünschte horizontale Scroll-Leisten in einigen Frames anzeigt.

      Dann ist deine Seite breiter als das Browserfenster. Rechne einfach die Breite aller Elemente (inkl. padding, border und margin) zusammen.

      Struppi.

      1. Hallo Struppi,

        Dann ist deine Seite breiter als das Browserfenster. Rechne einfach die Breite aller Elemente (inkl. padding, border und margin) zusammen.

        stimmt so nicht immer, siehe Link.

        Gruß aus Köln-Ehrenfeld,

        Elya

        --
        "Alle mal an die Nase fassen, und zwar an die eigene": http://forum.de.selfhtml.org/archiv/2003/9/57903/#m324482
        _____________
        Wikipedia: Die freie Enzyklopädie http://de.wikipedia.org
    2. Vielen Dank für den Link, er hat mein Problem zwar nicht gänzlich lösen können, doch war er sehr informativ.

      1. Hallo Nobb,

        er hat mein Problem zwar nicht gänzlich lösen können, doch war er sehr informativ.

        wo hakt es? Ich arbeite schließlich noch dran und brauche Input.

        Gruß aus Köln-Ehrenfeld,

        Elya

        --
        "Alle mal an die Nase fassen, und zwar an die eigene": http://forum.de.selfhtml.org/archiv/2003/9/57903/#m324482
        _____________
        Wikipedia: Die freie Enzyklopädie http://de.wikipedia.org
        1. » wo hakt es? Ich arbeite schließlich noch dran und brauche Input.

          Gut, also zunächst muss ich sagen das die Seite sehr umfangreich und gut das Problem beschreibt und zu lösen versucht. Schade nur, dass es dafür keine ultimative Lösung gibt, was man aber keinesfalls der Seite ankreiden kann. Denn auch sonst habe ich keine Lösung gefunden.

          Nun zu meinem Lösungsansatz:
          Ich habe versucht den Header
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
          zu verwenden, doch damit wurde meine CSS-Formatierung durcheinandergeworfen.
          Nun habe ich mit overflow-x:hidden; bei einigen Seiten die Scroll-Leiste abgeschaltet, bei denen nicht zu erwarten ist, dass der Text breiter wird als der das Frame und somit auch keine Scroll-Leiste benötigt wird. Bei allen anderen, wo eventuell noch ein Scroll-Balken benötigt wird (wo der Inhalt dynamisch ist) habe ich den Balken lieber gelassen. Aber bei allen von dem Problem betroffenen Seiten habe ich margin-right:28px; eingefügt, damit wenigstens kein Inhalt hinter der Leiste versteckt wird und er Benutzer nicht scrollen muss um allen Inhalt zu sehen.

          1. Hi,

            Ich habe versucht den Header
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
            zu verwenden, doch damit wurde meine CSS-Formatierung durcheinandergeworfen.

            dann vermute ich mal, daß Deine Seite das falsche Box-Modell des IE nicht berücksichtigt und im IE 5.x auch im standards-compliant mode nicht richtig angezeigt wird.
            Ich würde Dir empfehlen, diesen Doctype dennoch zu verwenden und das CSS für den IE anzupassen.

            freundliche Grüße
            Ingo

            1. dann vermute ich mal, daß Deine Seite das falsche Box-Modell des IE nicht berücksichtigt und im IE 5.x auch im standards-compliant mode nicht richtig angezeigt wird.

              So wird es wohl sein, doch mir ist aufgefallen, dass meine Angabe zum Bildschirmhintergrund "html {background-color:white;}" auch noch nach einbinden des Headers <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN"> interpretiert wurde. Das darf doch eigentlich nicht sein, oder?

              Aber das ist ein wichtiges Argument, was du da bringst. Was bringt es mir wenn die Seite in meinem IE6 gut aussieht aber 50% der leute nicht die neuste Version haben und das bei denen schlecht aussieht.
              Kannst du mir sagen, wie andere Browser (Nicht-IEs) auf die IE-spezifischen Seiten reagieren?

              Ich würde Dir empfehlen, diesen Doctype dennoch zu verwenden und das CSS für den IE anzupassen.

              Werde ich dann wohl machen.

              1. Hi,

                Kannst du mir sagen, wie andere Browser (Nicht-IEs) auf die IE-spezifischen Seiten reagieren?

                ich löse das meist so, daß ich den IE in den Quirks-Mode schicke (auch damit ich es nicht mit unterschiedlichen CSS-Interpretationen zu tun habe) und dann falls erforderlich die Anpassungen für alle IEs entweder über den MS spezifischen conditional comment einbinde oder bei kleineren Sachen auch schonmal eine CSS-Weiche wie den child-selector verwende, um die nachfolgend korrekten Angaben vor den IEs zu verbergen.

                freundliche Grüße
                Ingo

                1. Puh, habe gerade mal gegoogled aber so ganz verstehe ich das noch nicht.
                  Kannst du mir einen Beispielcode zeigen und kurz sagen, welcher Browser da was liest und was nicht? Danke

                  1. Hi,

                    Kannst du mir einen Beispielcode zeigen und kurz sagen, welcher Browser da was liest und was nicht? Danke

                    wofür Beispielcode?
                    vielleicht schaust Du Dir erstmal die offizielle Seite von MS zum standards-compliant mode an: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp
                    Zu conditional comments gibt's dort auch eine ausführliche Erklärung. Eine einfache Anwendung, z.B.:
                    <!--[if IE]><style type="text/css">@import url(scrollbar.css);</style><![endif]-->
                    findest Du auch auf meinen Seiten.

                    freundliche Grüße
                    Ingo

          2. Hallo Nobb,

            wo hakt es? Ich arbeite schließlich noch dran und brauche Input.

            Ich habe versucht den Header
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
            zu verwenden, doch damit wurde meine CSS-Formatierung durcheinandergeworfen.

            Nun habe ich mit overflow-x:hidden; bei einigen Seiten die Scroll-Leiste abgeschaltet, [...] Bei allen anderen, wo eventuell noch ein Scroll-Balken benötigt wird (wo der Inhalt dynamisch ist) habe ich den Balken lieber gelassen.

            Das stimmt natürlich, für solche Fälle habe ich tatsächlich noch nichts gelesen - immer nur "ein" oder "aus" - eben als Workarounds für den IE-Bug. Nervig ist's ;-)

            Die einzige sichere Möglichkeit, die ich für dich sehe ist, die vertikalen Scrollbalken _immer_ zu aktivieren, also

            html {overflow:scroll;}

            Viel Erfolg!

            Gruß aus Köln-Ehrenfeld,

            Elya

            --
            "Alle mal an die Nase fassen, und zwar an die eigene": http://forum.de.selfhtml.org/archiv/2003/9/57903/#m324482
            _____________
            Wikipedia: Die freie Enzyklopädie http://de.wikipedia.org