Sascha: Wie einen Frame zentrieren ( in der Mitte des Bildschirms ) ?

Hallo Ihr,

wie schaffe ich es das ich einen Frame perfekt
zentriert habe ?

Mein bisheriger Code :<frameset  rows="10%,80%,10%" cols="10%,80%,10%">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="start.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
</frameset>

Nur leider zeigt er immer die Frames MIT BORDERN an..genau
das soll nicht sein.

Any Ideas ?

MfG
Sascha
ironeagle@wtal.de

  1. Hallo,
    Nimm die Seite mit deinen Framedefinitionen.

    Lies die Client Fenstergröße aus und zieh von der Breite die gewünschten Framegröße ab. Dann teil den Rest durch 2 und nimm diesen Wert als linken und rechten Frame. Dann kannst du deine drei Framedefinitionen mit JavaScript document.write ind die Datei schreiben.
    Ich hoffe der Tip hilft dir.
    Nochmal kleine Kurzübersicht:
    ClientBreite-mittige Framebreite
    Rest /2
    dieser Rest als rechten und linken Frame verwenden
    mit JavaScript in das Dokument die richtigen Werte schreiben

    Ci@o Matti

    Komm ich jetzt in die Auslese?

    1. Moin

      Komm ich jetzt in die Auslese?

      <g>Warum erwartest du eine Strafe für deine Antwort ?</g>

      Antje hat es ja schon mehrfach angedeutet: Die nächste Auslese hatte schon Redaktionsschluß und wird jetzt "nur noch" hübsch gemacht. Da wird es wohl nicht mehr klappen.

      <g>Aber wenn du jetzt noch

      • ein lauffähiges, XML-validiertes codebeispiel lieferst,
      • den Mechanismus deiner Lösung auf maximal vier DIN A 4 Seiten noch ein wenig erklärst,
      • ein workaround für nichtframefähige Browser mit ausgeschaltetem Javasript schreibst und,
      • vier Querverweise (Muster: Bitte lesen Sie dafür das Kapitel xyz in SELFHTML, gehen Sie
          nicht über Los und bestehen Sie anschließend die MCSE-Prüfung) bastelt,
      • die Division in ein perlscript verpackst

      ja dann, dann wird die Redaktion bestimmt weich werden </g>

      Swen  
      (der nichts zu sagen hat, aber schon immer mal in der Redaktion "BILD hilft Ihnen" arbeiten wollte)

    2. Hallo nochmal
      mich hat die Lösung mal interessiert und habe folgenden Lösungsansatz verwendet.
      Der funktioniert aber leider nicht.
      Vielleicht könnte ja jemand gucken worans liegt?
      <html>
      <head>
      <title>Test</title>
      </head>
      <script language="JavaScript">
      var i = window.innerWidth;
      var frame = x - 300;
      var rest = frame / 2;
      document.writeln("<frameset cols=" + rest + ",300," + rest + "">");
      document.writeln("<frame src="tt.htm" name="links">");
      document.writeln("<frame src="tt.htm" name="mitte">");
      document.writeln("<frame src="tt.htm" name="rechts">");
      document.writeln("</frameset>");
      </script>
      <body>
      </html>

      Ansonsten Ci@o Mati

      1. Hallo nochmal
        mich hat die Lösung mal interessiert und habe folgenden Lösungsansatz verwendet.
        Der funktioniert aber leider nicht.
        Vielleicht könnte ja jemand gucken worans liegt?

        ein kleiner, blöder Fehler *g*

        <html>
        <head>
        <title>Test</title>
        </head>
        <script language="JavaScript">
        var x = window.innerWidth;   // statt i!
        var frame = x - 300;
        var rest = frame / 2;
        document.writeln("<frameset cols=" + rest + ",300," + rest + "">");
        document.writeln("<frame src="tt.htm" name="links">");
        document.writeln("<frame src="tt.htm" name="mitte">");
        document.writeln("<frame src="tt.htm" name="rechts">");
        document.writeln("</frameset>");
        </script>
        <!-- body darf nicht, frameset ersetzt body -->
        </html>

        Du siehst, ein blöder Fehler ;)

        nichts für ungut,
        CK1

  2. Hallo Sascha,

    Schau mal unter <../../tcib.htm#a4>, dort steht genau das was Du suchst (ist aber mit Erklärung länger, als den Link zu posten, deswegen nur der Link <nbs[1]>)

    Gruß AlexBausW

    [1] = nicht böse sein <g>(not bad sign)</g>

    P.S.: (An Alle) Die Framesetdefinition (<frameset  rows="10%,80%,10%" cols="10%,80%,10%">) ist afaik 'Non-SELFHTML-konform', weshalb ich immer, wenn schon Frames, mit verschachtelten Framesets gearbeitet habe. Was sagt denn der Valligator dazu?

    1. Nochmal Mich,

      P.S.: (An Alle) Die Framesetdefinition (<frameset  rows="10%,80%,10%" cols="10%,80%,10%">) ist afaik 'Non-SELFHTML-konform', weshalb ich immer, wenn schon Frames, mit verschachtelten Framesets gearbeitet habe. Was sagt denn der Valligator dazu?

      Den Valigator hab ich nicht befragt, war aber gerade beim W3C und hab` unter HTML 4.01-Spec. folgendes gefunden:

      Rows and columns

      Setting the rows attribute defines the number of horizontal subspaces in a frameset. Setting the cols
      attribute defines the number of vertical subspaces. Both attributes may be set simultaneously to
      create a grid.

      Da hätt` ich aber auch gleich nachschlagen könne ;-) <schlagmichselbst>

      nix für ungut

      Gruß AlexBausW

  3. Hallo Ihr,

    wie schaffe ich es das ich einen Frame perfekt
    zentriert habe ?

    OK, wenn ich den Code verstehe (auch wenn er meines Wissens nach nicht dem Standard entspricht), willst Du ein Frameset machen, das 3 Spalten und 3 Zeilen hat, wobei der mittlere Frame zentriert sein soll.
    Ich würde es so machen:

    <frameset rows="*,80%,*" framespacing="0" frameborder="0" border="0">
      <frameset cols="*,80%,*" framespacing="0" frameborder="0" border="0">
        <frame name="linksoben" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="mitteoben" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="rechtsoben" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
      </frameset>
      <frameset cols="*,80%,*" framespacing="0" frameborder="0" border="0">
        <frame name="linksmitte" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="mittemitte" src="start.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="rechtsmitte" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
      </frameset>
      <frameset cols="*,80%,*" framespacing="0" frameborder="0" border="0">
        <frame name="linksunten" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="mitteunten" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
        <frame name="rechtsunten" src="rand.html" marginwidth="0" marginheight="0" scrolling="no">
      </frameset>
    </frameset>

    So, ich hoff da hat sich jetzt nirgends der Fehlerteufel eingeschlichen :-)

    Gruß
    Tom

    Mein bisheriger Code :<frameset  rows="10%,80%,10%" cols="10%,80%,10%">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="start.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
        <frame name="" src="rand.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">
    </frameset>

    Nur leider zeigt er immer die Frames MIT BORDERN an..genau
    das soll nicht sein.

    Any Ideas ?

    MfG
    Sascha
    ironeagle@wtal.de

    1. OK, wenn ich den Code verstehe (auch wenn er meines Wissens nach nicht dem Standard entspricht),

      ok ok, kleine Korrektur.. scheinbar ist es doch Standard, cols und rows gleichzeitig in einem <frameset>-Tag anzugeben (wie Alex vor 10min geschrieben hat)... wusste ich noch gar nicht. Man lernt halt nie aus.

      Gruß
      Tom