HTML Reference

FRAMESET

<FRAMESET
COLS=col-widths
FRAMEBORDER=1|0
FRAMESPACING=spacing
ROWS=row-heights>
</FRAMESET>

Ermöglicht die Unterteilung des Bildschirms in mehrere Abschnitte (Frames) und die Zuweisung von Inhalten in diese.
Die weiteren Elemente sind FRAME und und NOFRAMES.

Ein Ende-Tag ist erforderlich.

COLS=col-widths
Erzeugt ein Frame-Dokument mit Spalten. Es können die Dimensionen der Spaltenabmessungen in Prozent (%), Pixel oder relativen Größenangaben (*) angegeben werden.
FRAMEBORDER=1|0
Unterstützt die Anzeige bzw. Nichtanzeige eines 3D-Rahmens. 1 (Standardwert) erzeugt einen Framerahmen. 0 zeigt keinen Rahmen an.
FRAMESPACING=spacing
Erzeugt zusätzlichen Leerraum zwischen den Frames (Angabe in Pixel).
ROWS=row-heights
Erzeugt ein Frame-Dokument mit Zeilen. Es können die Zeilendimensionen in Prozent (%), Pixel oder in relativer Größe (*) angegeben werden.

Die FRAMEBORDER= und FRAMESPACING= Attribute gelten für alle FRAME-Tags auf der Seite.

Beispiel:

<FRAMESET SCROLLING=YES COLS="25%, 50%, *">
    <FRAME SRC="inhalt.htm">
    <FRAME SRC="infotext.htm">
    <FRAME SCROLLING=NO SRC="grafik.htm">
</FRAMESET>

Frames wozu?

 

Wer im Internet surft, begegnet ihnen immer häufiger: den Frames.

Frames sind "cool", jeder Anbieter, der auf sich hält, verwendet sie oder trägt sich zumindest mit dem Gedanken sie einzusetzen.

Wir wollen sie nun ganz nüchtern betrachten, unsere Frames.

Welches sind die Vorteile (cool allein kann ja nicht ausreichen)?

Was sind nun die Nachteile?

Wie macht man Frames?

 

Zuerst müssen wir den Bildschirm teilen. Dazu legen wir ein sogenanntes Frameset an. Das ist einfach eine Datei, in der die gewünschte Aufteilung angegeben wird. Neben der Aufteilung, die in Prozent oder in Pixel - wobei auch Wildcards möglich sind - erfolgen kann, ist vor allem der sogenannte noframe-tag von Bedeutung. Denn, wie wir beim letzten Mal gesehen haben, können nicht alle Browser Frames anzeigen.

Ein Listing für ein einfaches Framset kann so aussehen:

 <html>
    <head>
       <title>Frame-Test</title>
    </head>
    <frameset cols="40%,60%">
       <frameset rows="100%">
          <frame src="links.htm" name="links">
       </frameset>
       <frameset rows="20,*">
          <frame src="oben.htm" name="oben">
          <frame src="inhalt.htm" name="mitte">
          <noframes>
             Alternativtext
          </noframes>
       </frameset>
    </frameset> 
 </html>
         
Auffallend ist, daß es hier einen body-tag nur innerhalb einer noframe-Klausel gibt! Dafür ist, je nachdem, wie oft das Fenster aufgeteilt werden soll, der frameset-tag vorhanden.

Um schon zu Beginn Dateien in den einzelnen Frames anzuzeigen, wird der Befehl

<frame src="xyz.htm">

verwendet, wobei es sehr zweckmäßig ist mit dem Parameter

name="yyy"

dem Fenster auch einen Namen zu geben. Das erleichtert dann die Referenzierung.

Was Sie sonst noch brauchen, sind die Seiten, auf die Sie im Frame-Set referenziert haben:
links.htm,
oben.htm und
inhalt.htm

sowie jene Seiten, auf die Sie in diesen Dateien selbst referenzieren.
Bei jeder Referenz geben Sie zusätzlich ein Zielfenster (target) an, das standardmäßig vorgesehen ist oder das Sie selbst im Frame-Set (mit name="yyy") definiert haben.

Beispiel:

<A HREF="inhalt.htm#kap3" target="mitte">Kapitel 3</A>

oder

<A HREF="detail.htm" target="_parent">Detailinformation</A>

Diese Links mit dem Zusatz target="yyy" bewirken, daß die referenzierte Datei im gewünschten Fenster angezeigt wird. Ohne diesen Zusatz würden die Dateien im gerade aktiven Fenster zu sehen sein.

Frames möglichst einfach:

 

Bisher ist diese Frage unbeantwortet geblieben:

Wie kann man die Vorteile von Frames nutzen, ohne sich in den Nachteilen zu verstricken?

Das Beispiel:

Nehmen wir an, Sie haben für Ihre Informationen ein gegliedertes Inhaltsverzeichnis mit Hauptüberschriften und Subüberschriften. Von dort Links, die zu Seiten mit Informationen führen.

Ein Vorteil, den Sie nutzen möchten, soll darin liegen, das überlange und unübersichtliche Inhaltsverzeichnis in Hauptüberschriften und Subüberschriften aufzusplitten und gleichzeitig sichtbar zu machen.

Die Informationen enthaltenden Seiten wollen Sie (was sich meist als zweckmäßig erweist) auf dem vollen Bildschirm anzeigen. Damit nutzen Sie einerseits den ganzen Bildschirm für die Präsentation, andererseits vermeiden Sie unfreiwillig verschachtelte Frames von der Marke "russische Puppe".

Sie basteln also zuerst ein Frameset. Dieses Frameset beinhaltet nur die Aufteilung der Fenster und den sogenannten Noframe Tag.

Wenn Sie nicht wissen, wie man ein Frameset anlegt, kopieren Sie sich ein Musterframeset von

http://www.bestlinks.at/htmltags/f_set.htm

Keine Sonderarbeit für nicht-framefähige Browser

Schreiben Sie innerhalb des noframe-tags einen Url zu Ihrer ohnehin schon vorhandenen Übersichtsseite oder, wenn Sie wollen, auch einen Link zu einer Seite mit den Hauptüberschriften.

Vermeiden Sie es aber, das Inhaltsverzeichnis in das Frameset hineinzukopieren, damit Sie nicht jede Änderung doppelt nachziehen müssen.

Nehmen Sie das vollständige Inhaltsverzeichnis und versehen Sie jede Hauptüberschrift mit einem Anker (A NAME="stichwort"). Kopieren Sie alle Hauptüberschriften in die neu geschaffene links.htm. Sie können die Seite auch anders nennen, doch sollte Sie im linken Fenster untergebracht werden, da die Benutzer gewohnt sind (zumindest bei uns in Europa) links oben mit dem Lesen zu beginnen. In der links.htm legen Sie die zugehörigen Referenzen an.

Beispiel: <A HREF="inhalt.htm#abc" target="mitte">Kapitelxyz</A>

Sie können auch das Inhaltsverzeichnis in kleine Dateien zerlegen, wobei jede Datei einer Hauptüberschrift entspricht. Das mag zwar etwas besser ausschauen, bringt aber ungleich mehr Arbeit mit sich.

Wenn Sie, was für die nicht-framefähigen Browser durchaus Sinn macht, in jedem Dokument eine Kopfzeile mit Weiterblätterbuttons haben, unterstützen Sie die Benutzer moderner Browser dadurch, daß sich die Kopfzeile aus der oben.htm sich hier nicht wiederholt: Geben Sie im Frame-Set als Referenz einen lokalen Anker an!

Beispiel für Referenz im Frame-Set :

<frame src="mitte.htm#xxx">

anstelle von

<frame src="mitte.htm">

Damit steht die Buttonleiste oberhalb des sichtbaren Bereichs!

Button-Zeichnen oder Generieren

Um das Aussehen der links.htm zu optimieren, können Sie für jeden Absprungpunkt händisch (und mühsam) ein Bild zeichnen. Wenn Sie es einfacher haben wollen, verwenden Sie eine Tabelle in einer anderen Farbe oder mit einem anderen Hintergrundbild. Die Hintergrundfarbe geben Sie mit

<body background ="abc.gif">

an, während Sie in der Tabelle

<td background="xyz.gif">

oder

<bgcolor=#......>

schreiben.

Damit bewirken Sie, daß die einzelnen Tabellenfelder wie Buttons aussehen, obwohl ein ganz normaler URL zu Ihrem Inhaltsverzeichnis führt.

Übersicht und Überblick bewahren

Es kann nichts schlimmeres passieren, als eine Frame-Konstruktion freizugeben, die vom Benutzer nicht mehr überblickt werden kann. Das ist oft bei verschachtelten Frame-Sets der Fall.

Auch soll der eigentlichen Information, wenn sie schließlich gefunden ist, der erforderliche Platz eingeräumt werden. Ist doch schon der ungeteilte Bildschirm fast immer zu klein!

Aus beiden Überlegungen ist es wichtig, die Frame-Darstellung so bald als erforderlich zu beenden.

Bei unserem Beispiel ist es zweckmäßig, auf vollen Bildschirm zu schalten, wenn das Fenster mitte verlassen wird.

Beim Inhaltsverzeichnis (oder bei den vielen kleinen Inhaltsverzeichnissen) geben Sie

<base target=_parent>

an, damit alle Links auf dieser Seite (so nicht ausdrücklich anders angegeben) in dem Elternfenster (in diesem Fall auf dem gesamten Bildschirm) angezeigt werden.

Je einfacher desto besser

Schließlich brauchen Sie nur zwei oder drei zusätzliche Dateien, sowie Abänderungen (Anker) in einer Datei um aus "gewöhnlichen" HTML-Seiten "frame" Seiten zu erstellen.

Sehen Sie sich den Quellcode dieser Dateien im Beispiel an:

das Frame-Set:
http://www.bestlinks.at/htmltags/f_set.htm

die Seite mit den Absprungpunkten(Hauptüberschriften):
http://www.bestlinks.at/htmltags/links2.htm

die Kopfseite (kann immer wieder fast gleich verwendet werden):
http://www.bestlinks.at/htmltags/oben.htm

das Inhaltsverzeichnis, benötigt base target Befehl und Anker
http://www.bestlinks.at/htmltags/tags_i.htm

Alle anderen Dateien können bleiben, wie sie sind.

Das ist doch was - oder?

Anmerkungen


Frames sind schnell ein beliebtes Gestaltungselement geworden.
Frames werden heutzutage von fast allen Browsern unterstützt.

Zweckmäßig ist es, die Seiten mit Frames so zu konzipieren, daß sie auch von älteren Browsern gelesen werden können.
Sehen Sie sich als Beispiel den Quelltext der Homepage dieser Seiten an: Beispielseiten. Nachdem Sie den Quelltext der Frameseite studiert haben, klicken Sie auf jedes einzelne Teilfenster und öffnen Sie mit Klick auf rechte Maustaste den Quelltext der zugewiesnen Dateien.

----------------------------------------------------------

Wünsche, Anregungen, Kritiken oder einfach Kommentare an Grünwald


Last modified 26.Jun.2000