luc(as von gwinner): exakte zentrierte Ausrichtung in beiden Frames erreichen

Mein Problem sieht folgendermaßen aus. Ich habe zwei Frames - einen oben (navigation) und einen unten (information) - und möchte das die Inhalte in beiden frames zenriert ausgerichtet werden. soweit so klar - und soweit geht's auch, aber...
...in beiden frames liegen Tabellen die 800 pixel breit sind und die sollen so zenriert sein das die aussenkanten der oberen tabelle senkrecht auf einer linie mit den aussenkanten der unteren tabelle liegen. Da die tabelle im oberen frame aber nicht gescrollt werden soll und auch nicht gescrollt werden muß (scrolling=no oder scrolling=auto, ist in diesem fall egal), im unteren frame aber immer gescrollt wird und sich damit das browserfenster um die breite des scrollbalkens in der breite verkleinert, verschieben sich die zentrierungen...

frage also: weiss jemand einen trick wie man dem beikommen kann...

...das wäre super!
Euer luc

  1. Hallo!

    frage also: weiss jemand einen trick wie man dem beikommen kann...

    Mmmmmmhhhhhh, eigentlich habe ich Dich nicht richtig verstanden.

    Die Tabellen im oberen und unteren Frames sollen "zusammen gesetzt sein", also man kein Übergang sieht?

    Frameset:

    <frameset>
        <frame marginwidth="0" marginheight="0">
        <frame marginwidth="0" marginheight="0">
    </frameset>

    oberes Frame:

    <body>
    <center>
    <table width="800">

    </table>
    </center>
    </body>

    unteres Frame:

    <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">

    <center>
    <table width="800">

    </table>
    </center>

    </body>

    Wenn es das nicht sein solle, dann poste mal eine URL, wo man sich das Problem anschauen kann.

    mfg, André

    1. Hallo André...

      Mmmmmmhhhhhh, eigentlich habe ich Dich nicht richtig verstanden.

      Doch sogar sehr gut!

      Die Tabellen im oberen und unteren Frames sollen "zusammen gesetzt sein", also man kein Übergang sieht?

      Genau. Und das funktioniert aber nicht, weil sich im unteren frame die zentrierung verschiebt wenn der scrollbalken gebraucht wird. der ist dann ja nur im unteren frame und verkleinert dessen pixelzahl aber in der breite, was sich wiederum auf'‚s zentrieren auswirkt.

      unteres Frame:

      <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">

      das funktioniert leider nicht...die lösung hab ich vorhin schon mal im archiv gefunden und eben noch mal ausprobiert. Vielleicht gibt es für das problem ja gar keine "offizielle" Lösung und man kann es nur mit einem unsichtbaren gif beheben oder so was....

      also, für sachdienliche hinweise wird dem Hinweisgeber auf ewig mein Dank nachschleichen...
      das sollte _keine_ drohung sein :o)

      1. Hallo!

        Genau. Und das funktioniert aber nicht, weil sich im unteren frame die zentrierung verschiebt wenn der scrollbalken gebraucht wird. der ist dann ja nur im unteren frame und verkleinert dessen pixelzahl aber in der breite, was sich wiederum auf'‚s zentrieren auswirkt.

        Eine Beispielseite währe ganz gut gewessen. Ich meine, ich hätte sowas in  meiner "Frameslastigenzeit" hinbekommen.  Wenn natürlich das Frame kleiner 800 wird, ist klar das sich ein horizontaler scrollbalken ergibt. Dann solltest Du es mal mit Prozentangaben versuchen.

        mfg, André

        1. Eine Beispielseite währe ganz gut gewessen.

          Also denn, ich mach eine - dauert noch'n Moment

          »»Ich meine, ich hätte sowas in  meiner "Frameslastigenzeit" hinbekommen.  Wenn natürlich das Frame kleiner 800 wird, ist klar das sich ein horizontaler scrollbalken ergibt. Dann solltest Du es mal mit Prozentangaben versuchen.

          es geht mir nicht um einen horizontalen sondern einen senkrechten Scrollbalken, aber ich seh schon ohne Beispiel kommt man da nicht weiter - auf jeden fall weiß ich jetzt das es im archiv auch nichts darüber gibt (hab ich nämlich inzwischen ausgiebigst durchforstet).

          Ich mach jetzt erstmal ein beispiel - bis denne
          luc
          P.S.: Aber Danke soweit erstmal André

          1. Also hier jetzt ein Beispiel meines Problems...

            http://home.knuut.de/luc/mefoe/beispiel.htm

            leicht verzweifelt grüßt
            luc

            1. Also hier jetzt ein Beispiel meines Problems...

              http://home.knuut.de/luc/mefoe/beispiel.htm

              leicht verzweifelt grüßt
              luc

              Schreib in beispiel.htm auch scrolling=auto für frame beispiel1.htm,
              dann reserviert Netscape (MS IE kann ich nicht testen) des Platz für den Scrollbalken, zeigt ihn aber nicht an. (solang er nicht benötigt wird!)

              Amit

              1. Schreib in beispiel.htm auch scrolling=auto für frame beispiel1.htm,
                dann reserviert Netscape (MS IE kann ich nicht testen) des Platz für den Scrollbalken, zeigt ihn aber nicht an. (solang er nicht benötigt wird!)

                Klar - warum bin ich da nicht selbst draufgekommen. Danke Amit.
                Mit meine MSIE4 funktioniert's. Kann mir ein IE5-User sagen ob's da auch geht (müsste ja eigentlich, oder?)

                Euer, luc

                1. Hi luc

                  Mit meine MSIE4 funktioniert's. Kann mir ein IE5-User sagen ob's da auch geht (müsste ja eigentlich, oder?)

                  ja, tuts auch, ebenso wie mit ns 4.7.

                  Mensch und ich dachte schon ich habse nicht mehr alle, als ich den thread von oben nach unten durchgelesen habe, da in all meinen browsern keine verschiebung festzustellen war. haste das auto schon reingeschrieben... sowas auch

                  ciao

                  franz

            2. Hallo luc,

              http://home.knuut.de/luc/mefoe/beispiel.htm
              Diese Tabelle ist ein Stück weiter links als die...

              da bist Du wohl ziemlich gekniffen mit Deinem Framesansatz
              und der gleichzeitigen Zentrierung / Ausrichtung.
              Die vielfältigen Viewports werden Dir wohl zu häufig einen
              Strich durch die Rechnung machen.

              Das mit dem (transparenten) GIF könnte Dir eventuell  was bringen
              wenn Du mit JS die Fensterabmessungen ermittelst und und
              die 'Streckung' dynamisch anpaßt. Aber auch irgendwie saudoof.

              Ich gehe davon aus, daß Deine beiden Frames immer gleich breit
              sein werden. Kannst Du da nicht seitlich noch zwei *-Frames definieren
              und Deine Hauptfenster linksausgerichtet lassen?
              Solange der Bildschirm breit genug ist, sollte sowas klappen können.
              Wenn nicht, dann wird's auch damit nicht's sobald man horizontal
              scrollt.

              Klaus

              1. Hallo luc,

                hab' eben mal etwas mit Deinen Beispielen rumgespielt.
                Der Frameset sieht bei mir jetzt so aus:

                <html>
                <head>
                <title>das in-2-frames-zentrierungs-problem</title>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                </head>

                <FRAMESET COLS="*,325,*" FRAMEBORDER="NO" BORDER="0" FRAMESPACING="0">
                  <FRAME SRC="LEER.HTM" MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO>

                <frameset rows="113,*" frameborder="NO" border="0" framespacing="0">
                     <frame src="beispiel1.htm" marginwidth=0 marginheight=0 scrolling=no>
                     <frame src="beispiel2.htm" marginwidth=0 marginheight=0 scrolling=auto>
                   </frameset>

                <FRAME SRC="LEER.HTM" MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO>
                </FRAMESET>

                <noframes><body bgcolor="#FFFFFF">

                </body></noframes>
                </html>

                und LEER.HTM so:

                <HTML>
                <HEAD><TITLE>LEER</TITLE></HEAD>
                <BODY BGCOLOR="#FFFFFF"></BODY>
                </HTML>

                Die 'center'-Attribute aus den Tabellen müssen dann auch noch raus.

                Bei mir ist noch eine Lücke zwischen oberem und unterem Frame,
                das ist aber ein anderes Thema.
                Die Großschreibung ist um die Unterschiede hervorzuheben.
                Ich kann's nun beliebig zusammenscheieben.

                Klaus

                1. Gewissermaßen "ReHi" erstmal, ich war zwischendurch beim Arzt und das hat etwas länger gedauert. Aber jetzt rstmal ein RIESEN DANKESCHÖN an Euch.

                  Ich hab mich für Klaus' Lösung entschieden, weil ich abwärtskompatibel sein will, "HTML as pure as possible"-Fanat bin, mich für kürzest mögliche Ladezeiten begeistere und in JS auch noch nicht ganz so sicher bin - anyway, ihr habt mir wirklich geholfen

                  Noch zwei Dinge:

                  Klaus schrieb:
                  Bei mir ist noch eine Lücke zwischen oberem und unterem Frame,
                  das ist aber ein anderes Thema.

                  So ist es. Und in meinem Fall auch nicht relevant :-) <= what a LUCky guy

                  André schrieb:
                  Wieso kann man eigentlich die Browsergröße ändern?
                  Warum surft nicht jeder fullscreen?
                  Warum benutzen nicht alle nur einen Browser? :o)

                  Sein wir doch dankbar sonst gäb's sieses Forum ja nicht und das würde ich echt missen - vorallendingen wenn ich dann Probleme mit verschiedenen Browsern und verschiedenen Bildschirmgrößen hätte - hä?
                  :-D

                  Danke Euch - luc

                  1. André schrieb:
                    Wieso kann man eigentlich die Browsergröße ändern?
                    Warum surft nicht jeder fullscreen?
                    Warum benutzen nicht alle nur einen Browser? :o)

                    Nönö, das schrieb ich ;).
                    Vielleicht hätte ich darauf hinweisen sollen, daß es rein rhetorische Fragen waren, die bei mir manchmal aufkommen, wenn ich mich mal wieder (zu?) tief in die Materie gekniet habe :).

                    Alles Gute,
                      David

                    PS: Die JS-Lösung war lediglich ein Was-ist-machbar-Test. Für gewöhnlich bevorzuge ich auch pures HTML (bis ein bischen CSS :). Diese Forum regt doch ständig dazu an, immer neue Dinge auszuprobieren.. und das ist auch gut so. Ob es letztendlich praxistauglich ist, kann dann ja in einem weiteren Thread diskutiert werden ;o).

            3. Hi luc,

              dein Problem hat mich auch schon oft zur Verzweiflung getrieben. Früher habe ich einfach das Scrolling weiterhin erlaubt und dafür gesorgt, daß es nix zu scrollen gab. Doch angespornt durch all das Wissen, daß man hier erfährt habe ich mich nochmal daran gesetzt und eine Lösung für IE und NS (ab v4.x) 'erbastelt' :)

              Zu sehen unter: http://www.sourcevault.de/help/frame.html

              Wenn es Unklarheiten dazu geben sollte, kann ich mich ja nochmal dazu äußern.

              Gruss,
                David

              1. Hallo  David,

                bei meinem NC 4.5 reagiert Deine Lösung etwas zickig auf Resize.
                Ansonsten ok.

                Klaus

                1. Hallo David,

                  hab's mir eben auch mal mit dem IE5 (5.00.2014.0216)
                  angesehen, da ist es nicht ok.
                  Da wandert das 'Noscroll'-Teil beim Resize sonderbar rum.

                  Klaus

                2. Hallo Klaus,

                  zum Netscape: ist einer der Netscape-Bugs, daß er beim Resizen z.B. JavaScripts nur noch unvollständig bzw. gar nicht mehr interpretiert. Es muss der onResize-eventHandler umgeschrieben werden, so daß bei einem Resize location.reload() ausgeführt wird. In Archiv gibts zu dem Thema genug Beiträge ;).

                  zum IE: auch hier wäre ein Reload vonnöten, damit die Tabellenbreite erneut ausgelesen wird.. oder? *grübel*

                  Wieso kann man eigentlich die Browsergröße ändern? Warum surft nicht jeder fullscreen? Warum benutzen nicht alle nur einen Browser? :o)
                  Das alles würde mir (und sovielen anderen) massig Arbeit ersparen... aber als Programmierer ist man ja ausdauernd *seufz*.

                  Gruss,
                    David

                  1. Hallo David,

                    zum Netscape: ist einer der Netscape-Bugs,...
                    In Archiv gibts zu dem Thema genug Beiträge ;).

                    ist mir schon klar, aber luc auch?

                    zum IE: auch hier wäre ein Reload vonnöten,... oder?

                    Ja, das bringt es auch hier.

                    Das sind aber eben leider alles extra 'Handreichungen'.
                    Woher soll ein 'Normal-User' das drauf haben?

                    Wieso kann man eigentlich die Browsergröße ändern?
                    Warum surft nicht jeder fullscreen?

                    Naja, luc's 300 Pixelchen immer auf 1024/1200 angucken müssen?
                    Eigentlich hab' ich es ja auch ganz gerne wenn ich meine
                    anderen Tools gestaffelt auf der Glotze sehe und einfach
                    mit der Maus 'rumspringe'. (Alt-Tab ist mir schon bekannt).

                    Warum benutzen nicht alle nur einen Browser? :o)

                    Tja, auch das Thema 'krumme Banane' hatten wir hier schon mal.
                    Und, wenn alle Sites gleich wären, gleichen Inhalt hätten,
                    tja, dann wär's auch einfacher.
                    Würde vielen...

                    massig Arbeit ersparen...

                    oder?

                    Klaus

  2. hi luc,

    auf die wiederholung deines problemes verzichte ich hier, es ist mir seit deinem posting sehr bekannt, da ich eben diese tatsache bei der planung für eine seite nicht berücksichtigt habe (bin jetzt auch schwer am überlegen, wie es gehen könnte)

    deine idee mit transparenten gif wird imho _nicht_ funzen, man kann die breite der scrollbalken auch verstellen, woher weisst du die breite dann?

    ich werde mich jetztmal dranmachen und einen workaround suchen, wenn ich was finde, dann poste ich es sofort ;-)

    nikita

    1. Hallo!

      »», man kann die breite der scrollbalken auch verstellen,

      Seit wann?

      1. hallo

        Hallo!

        »», man kann die breite der scrollbalken auch verstellen,

        Seit wann?

        keine ahnung, nächste frage.

        1. Hallo!

          keine ahnung, nächste frage.

          Ich meinte, daß das nicht geht.

          Grüße
          Thomas

          1. hallo thomas,

            Ich meinte, daß das nicht geht.

            ich habe gesagt, _dass_ es geht:

            start->einstellungen->systemsteuerung->anzeige->darstellung->bildelement bildlaufleiste->größe [ändern]->ok
            (alles win98)

            damit kann sich jeder user _seine_ scrolleiste einstellen, wie er möchte, unter 3d-objekte ist auch noch dunkelbunt als farbe einstellbar <g>

            eine websitespezifische änderung der scrollbalken (vom browser!) ist mir nicht bekannt.

            bitte, nikita

            1. Hallo!

              (alles win98)

              Win98 ist aber nicht das ein und alles was an OS vorhanden ist.

              Natürlich hast du Recht was win98 angeht:
              aber wann wird ein Otto Normalverbraucher soweit kommen und diese Einstelungsmöglichkeiten tatsächlich nützen?

              Grüße
              Thomas

              Nach dem die Sache richtig nur mit JS gelöst werden kann, erübrigen sich Überlegeungen wie unsere von selbst.

              1. Um die Frage doch mal zu klären:

                Eine Otto Naormalbverbraucher Bildlaufleiste ist 16 pixelchen breit - nicht mehr nicht weniger. Allerdings unter der Vorraussetzung das unser Ottolein weder die Ahnung noch den Mut hat an die Grundeinstellungen seines Systems Hand anzulegen.

                That's it - und übrigens Danke nikita: Jetzt weiß ich endlich wie breit die Dinger sind.

                Gruß, luc

                1. Hallo luc,

                  ...Bildlaufleiste ist 16 pixelchen breit - nicht mehr nicht weniger.

                  tja, im Prinzip und wohl auch laut Radio Eriwan,
                  jedenfalls was die kleinen Fußangeln anbelangt.

                  Meiner Erfahrung nach sind 25 Pixel eher angebracht.
                  Dieses hängt (auch) mit der Eigenheit der Netsies zusammen,
                  Bildschirmaufteilungen in gerundeten Prozenten zu handhaben.
                  Bei 1024 Pixel Bildschirmbreite sind das ja nun mal so um
                  die 10 bzw. +/- 5 Pixel Schwankungsbreite.

                  Wenn Du das gestrige Beispiel verwendest und mal mit der
                  Breite des Fensters rumprobierst, dann kannst Du sehen,
                  daß der Spalt zwischen Tabelle und Scroller schwankt.
                  Wenn Du 16 oder 17 Pixel nimmst, dann kann der Scroller
                  schon mal (erheblich) über den Tabellenrand rutschen.

                  Natürlich wird Dein Design den Ausschlag geben für welchen
                  Wert Du Dich entscheidest.

                  Klaus