Martin: dynamische Framebreite

Hallo Leute,

wie kann ich die Breite eines Frames dynamisch halten?

Beispiel: Es gibt zwei nebeneinander liegende Frames A und B
In A ist eine Tabelle mit Menüpunkten. In B soll der dem angeklickten Menüpunkt entsprechende Text erscheinen. Besonderheit: Alles soll skalierbar sein. Wenn nun die Schriftgröße geändert wird, so nimmt auch die Breite des Inhalts im linken Menüframe zu bzw. ab. Folglich kann ich die Framebreite nicht in Prozent oder Pixeln festlegen.

Wie kann ich das Problem lösen?

danke

Martin

  1. Wie kann ich das Problem lösen?

    verwende keine Frames!

    Struppi.

    1. Hi Struppi,

      Wie kann ich das Problem lösen?
      verwende keine Frames!

      Das ist für eine Antwort zu wenig, auch wenn es mit Frames ohne Reload wirklich nicht geht.

      Viele Grüße
      Mathias Bigge

      1. Wie kann ich das Problem lösen?
        verwende keine Frames!
        Das ist für eine Antwort zu wenig, auch wenn es mit Frames ohne Reload wirklich nicht geht.

        auch mit einem reload geht es nicht, da du in HTML keine Angaben in Relation zur Schriftgröße machen kannst.

        Es geht nur ohne Frames und mit 'em' oder gar keiner Größenangabe.

        Struppi.

        1. Ok, scheinbar geht es nicht ohne Frames. Der Grund warum ich Frames verwende ist, daß ich einen Teil des Bildschirminhaltes (Frame B) nach einem Klick auf einen Menülink (in Frame A) ersetzte.

          Alternative: Eine HTML-Seite in der links das gesamte Menü steht und rechts der zu einem Menüpunkt gehörige Text. Das würde aber dazu führen, daß in jeder Textseite stets links auch zunächst das Menü mit allen Einträgen gespeichert ist. Redundante Speicherung ist ja bekanntermaßen Unsinn. Gibt es denn eine andere technische Lösung die Funktionsweise von Frames nachzuahmen? Die Benutzung muß auch bei ausgeschaltetem Java-Script funktionieren.

          danke

          Martin

          1. Ok, scheinbar geht es nicht ohne Frames. Der Grund warum ich Frames verwende ist, daß ich einen Teil des Bildschirminhaltes (Frame B) nach einem Klick auf einen Menülink (in Frame A) ersetzte.

            Es gibt ja durchaus sinnvolle Verwendung für Frames, vielleicht ist das in deinem Falle so. Aber dein Problem kannst du nur mit JS lösen (Seitenbreite abfragen, nach onload - Frameattribute setzen).

            Struppi.

          2. Ok, scheinbar geht es nicht ohne Frames.

            Doch.

            Alternative: Eine HTML-Seite in der links das gesamte Menü steht und rechts der zu einem Menüpunkt gehörige Text. Das würde aber dazu führen, daß in jeder Textseite stets links auch zunächst das Menü mit allen Einträgen gespeichert ist. Redundante Speicherung ist ja bekanntermaßen Unsinn. Gibt es denn eine andere technische Lösung die Funktionsweise von Frames nachzuahmen?

            Martin,
            Du hast dir meine Antwort [pref:t=84585&m=496053] durchgelesen?
            Gunnar

            --
            Good results come from experience; and experience comes from bad results.
            1. Hi,

              Du hast dir meine (Gunnar's) Antwort [pref:t=84585&m=496053] durchgelesen?

              Das ist sicher eine gute Lösung, und wenn du das Menü nich auf jeder seite neu schreiben willst, gibt es immernoch die Möglichkeit mit SSI zu arbeiten.

              Die meisten hier im Forum sehen Frames als eher miese Lösung und diese Meinung beruht - soweit ich das beurteilen kann - auf jahrelanger Erfahrung. Natürlich darfst du gerne Frames verwenden, aber du solltest nicht stur darauf beharren, wenn es auch andere Möglichkeiten gibt.

              mfg - zoidberg

              --
              Selfcode: ie:{ fl:( br:> va:} ls:# fo:| n4:( ss:{ de:] js:| sh:( mo:} zu:}
              Encode:   http://forum.de.selfhtml.org/cgi-bin/selfcode.pl
              Decode:   http://peter.in-berlin.de/projekte/selfcode/
              1. Hi,

                Die meisten hier im Forum sehen Frames als eher miese Lösung und diese Meinung beruht - soweit ich das beurteilen kann - auf jahrelanger Erfahrung.

                Man kann auch jahrelang was falsch machen.

                Ich tippe auf eine Kombination aus "mit Frames ergeben sich Probleme, die ich ohne nicht habe" (OK, gilt auch für andere Techniken - auch für CSS), sowie dem Unwillen/Unvermögen der Autoren (und Tippgeber) Lösungen für diese Probleme zu verwenden/zu nennen.

                Gruß, Cybaer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          3. Hi,

            Alternative: Eine HTML-Seite in der links das gesamte Menü steht und rechts der zu einem Menüpunkt gehörige Text. Das würde aber dazu führen, daß in jeder Textseite stets links auch zunächst das Menü mit allen Einträgen gespeichert ist. Redundante Speicherung ist ja bekanntermaßen Unsinn.

            Als Unsinn würde ich das nur ansehen, wenn der Menü Nettocode ohne ggfls. (zu cachene) Grafiken so extrem umfangreich wäre, daß die Seiten erheblich länger laden würden. Allerdings würde ich dann vermutlich auch ein solches Menü unsinnig finden.

            freundliche Grüße
            Ingo

  2. In A ist eine Tabelle mit Menüpunkten.

    Nein, eine Tabelle hat keine Menüpunkte. Du meinst, A ist eine Liste. Sollte in HTML dann auch mit ul oder ol ausgezeichnet werden.

    <ul id="menu" style="float:left">
      <li><a href="http://www.example.com/foo.html">foo</a></li>
      <li><a href="http://www.example.com/bar.html">bar</a></li>
    </ul>
    <h1>Baz</h1>
    <p>Qux quux quuux.</p>

    Anmerkungen:
      1. Da keine Frames verwendendet werden, muss das Menü auf jeder Seite eingebunden werden (evtl. serverseiteig).
      2. float:left steht besser im zentralen Stylesheet als im <ul>-Tag.

    Gunnar

    --
    Good results come from experience; and experience comes from bad results.