Cassi: Verschiebung des div's bei erscheinen einer Scrollleiste

Ich habe im groben schonmal geschaut, jedoch irgendwie nicht das passende gefunden und ich hoffe ich habe das Thema richtig gewählt...

Also worum geht es.

Ich habe ein Layout quasi bestehend aus drei Frames übereinander...
der odere ist fest und der untere...
ich habe das ganze versucht über div-Boxen zu machen und habe die dann
über text-align bzw. margin:auto horizontal mittig ausgerichtet...
soweit so gut.
Das ganze in allen drei übereinander liegenden Frames...

Oben und unten klappt es ABER! der mittelste variable frame soll ja an sich genauso aussehen von der Ausrichtung, kommt da aber nun an der Seite ein Scrollbalken dazu ist ja quasi ein Stück weg von dem frame bzw. gilt nicht mehr für die berechnung und nun verschiebt es diesen zentrierten div eben im Vergleich zu oben und unten irgendwie ein Stück nach links...

|----|frame oben     zentrierter div|----|
|---|mittlerer Frame div verschoben|----B|
|----|frame down zentrierter div|----|

(B steht für scrollbalken ^^; )

Ich hoffe ihr versteht was ich zu sagen versuche... die Frage an sich ist, wie sage ich dem lustigen Frame dass er doch bitte diesen div in dem alles drin steht so zentriert als wäre der scrollbalken nicht da und würde also nix von der seitenbreite klauen.

  1. hi,

    die Frage an sich ist, wie sage ich dem lustigen Frame dass er doch bitte diesen div in dem alles drin steht so zentriert als wäre der scrollbalken nicht da und würde also nix von der seitenbreite klauen.

    Das einzig sinnvolle, was du diesem Frame und seinen Brüdern sagen könntest, wäre "verzieht euch" - denn auch das ist wieder mal eines der Probleme von Frames, die du ohne sie gar nicht hättest.
    Du hast deine Seite in drei _vollkommen von einander unabhängige_ Fenster unterteilt - und erwartest jetzt trotzdem, dass sie sich gleich verhalten - das ist reichlich unlogisch.

    Wenn du an diesem miserablen Seitenkonstrukt festhalten willst, bliebe dir nur entweder in allen Frames für einen Scrollbalken zu sorgen (overflow-y für die Browser, die das interpretieren, bzw. eine entsprechende Mindest-Höhe), oder aufwendig per Javascript zu ermitteln, ob ein Scrollbalken im mittleren Bereich vorhanden ist, und wenn ja die zentrierten Inhalte entsprechend zu verschieben.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Ich weiß dass Frames durchaus blöd sind aber wenn ich alles über div`s mache, dann läd der ja jedesmal alles neu und aufgrund eines Banners (welches groß aber nicht vermeidbar ist) im Kopf der Seite wäre das reichlich doof...

      Ein Scrollbalken im mittleren Teil ist immer da, d.h. man bräuchte nicht ermitteln ob er da ist oder nicht...

      Sorry das ich nunmal nicht so ein Brain in dieser Hinsicht bin :( es war ne einfache Frage, aber egal...

      Also werde ich mir jetzt etwas überlegen, das im mittleren Frame den div genau um die Breite des Scrollbalkens nach rechts verschiebt?

      Kann ich das über einen einfachen div machen den ich quasi meinem Inhaltdiv links dran setze und der dann quasi grad die Hälfte des Scrollbalkens an Breite hat?
      Wie breit ist si ein Scrollbalken?

      1. Okay danke nochmal ich habe das ganze umgangen... sozusagen... ich habe sowohl an den zentrierten div oben als auch an den unten einfach noch ein div dran gebaut über float rechts der nun die Breite eines scrollbalkens simuliert.

        1. Okay danke nochmal ich habe das ganze umgangen... sozusagen... ich habe sowohl an den zentrierten div oben als auch an den unten einfach noch ein div dran gebaut über float rechts der nun die Breite eines scrollbalkens simuliert.

          du brauchst aber keine extra Platzhalter Divs. Du musst ledigleich den mittleren um Xpixel nach rechts verschieben. (postion: absolute; left: xpx;)

      2. hi,

        Ich weiß dass Frames durchaus blöd sind aber wenn ich alles über div`s mache, dann läd der ja jedesmal alles neu

        Das stört auf zigmillionen anderen Webseiten auch keinen der Benutzer.

        und aufgrund eines Banners (welches groß aber nicht vermeidbar ist) im Kopf der Seite wäre das reichlich doof...

        Nein, Caching-Mechanismen existieren.

        es war ne einfache Frage, aber egal...

        Nein, es ist keine einfache Frage - weil du durch Nutzung von Frames alles *extrem* komplizierst.

        Kann ich das über einen einfachen div machen den ich quasi meinem Inhaltdiv links dran setze und der dann quasi grad die Hälfte des Scrollbalkens an Breite hat?
        Wie breit ist si ein Scrollbalken?

        So breit, wie der Nutzer ihn in seinem System/Theme eingestellt hat.
        Sprich: Du weisst es nicht. (Mit HTML und CSS jedenfalls nicht. Mit Javascript wäre der Wert eventuell ermittelbar.)

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }