Frames stellen einen Quantensprung in HTML dar. Frames sind kein weiteres Element, um typische Aufgaben der Textverarbeitung zu bewältigen, sondern ein Element, das die spezifischen Eigenschaften der Bildschirmanzeige konsequent nutzt. Frames eröffnen völlig neue Möglichkeiten, um Information hypertextuell (d.h. nicht-linear) aufzubereiten.
Frames werden ab Netscape 2.0 und ab MS Internet Explorer 3.0 unterstützt. Angaben der Firma Netscape zufolge ist das Frame-Konzept mit dem WWW-Konsortium abgesprochen und als künftiger offizieller Bestandteil von HTML vorgesehen.
Frames stellen an das Design von HTML-Seiten besonders hohe Ansprüche. Einige Tips, die Sie beachten sollten, finden Sie im Abschnitt Umgang mit Frames.
Die Abbildung stellt den Inhalt des gesamten Anzeigefensters des Browsers schematisch dar. Wie Sie unschwer erkennen können, erlaubt das Frame-Konzept Hypertext-Funktionalitäten, die bislang nur mit Hilfe professioneller Hypertext-Systeme (Guide, Augment usw.) realisierbar waren.
Mit Frames in Verbindung mit Formularen können Sie anwenderfreundliche Datenbank-Oberflächen realisieren. So können Sie z.B. in einem linken Frame ein Formular für Sucheingaben zur Verfügung stellen, während rechts daneben in einem anderen Frame die jeweils aktuellen Suchergebnisse präsentiert werden.
<html> <head> <title>Frame-Test</title> </head> <frameset ...> ... Frame-Definitionen ... </frameset> </html><frameset ...> leitet die Definition eines Frame-Sets ein. Dahinter folgen die Definitionen der einzelnen Frames. </frameset> schließt die Definition des Frame-Sets ab.
Beispiel 1
<frameset rows="20%,80%"> ... Dadurch ergeben sich zwei Frames, deren Inhalt hier bestimmt wird... </frameset>
Beispiel 2
<frameset cols="40%,60%"> ... Dadurch ergeben sich zwei Frames, deren Inhalt hier bestimmt wird... </frameset>
Beispiel 3
<frameset cols="40%,60%"> ... Dadurch ergibt sich zwei Frames, wobei der Inhalt des ersten Frames hier bestimmt wird... <frameset rows="20%,80%"> ... Dadurch ergeben sich noch mal zwei Frames, deren Inhalt hier bestimmt wird... </frameset> </frameset>
Durch die Angabe rows= (Prozent) im einleitenden Frameset-Tag bestimmen Sie die "Zeilen" und deren Höhen. Die Höhenangaben der einzelnen Zeilen trennen Sie durch Kommata. Anstelle der Prozentangaben können Sie auch absolute Zahlenwerte (Anzahl in Pixel) benutzen, z.B. rows="120,520". Im Zusammenhang mit absoluten Zahlenwerten können Sie auch eine Wildcard verwenden. So bewirkt z.B. z.B. rows="120,*,120" ein Set, bestehend aus drei Reihen für Frames, wobei die erste und die letzte Zeile jeweils 120 Pixel hoch sind (z.B. für Kopf- und Fußzeilen), während die Höhe der mittleren Reihe, markiert durch einen Stern, variabel ist und durch die Größe des Anzeigefensters beim Anwender bestimmt wird.
Durch die Angabe cols= (Prozent) im einleitenden Frameset-Tag bestimmen Sie die "Spalten" und deren Breiten. Hierbei gelten die gleichen Regeln wie bei den "Zeilen".
Alle Angaben hinter rows= und cols= müssen in Anführungszeichen stehen.
Wenn Sie Anordnungen wie in Beispiel 3 erreichen wollen, müssen Sie mehrere, verschachtelte Frame-Sets definieren. Gehen Sie dabei hierarchisch vor. In Beispiel 3 besteht die erwünschte Gesamtanordnung zunächst einmal aus zwei Spalten. Daß die rechte Spalte nochmals unterteilt werden soll, ist zunächst sekundär. Als erstes definieren Sie in diesem Fall also ein Frame-Set mit zwei Spalten, in Beispiel 3 mit <frameset cols="40%,60%">. Da Ihre gedachte Tabelle in der rechten Spalte in zwei Zeilen unterteilt werden soll, brauchen Sie im nächsten Schritt Angaben zu den Zeilen. Die rechte Spalte, die in Beispiel 3 zwei Zeilen enthalten soll, definieren Sie durch die entsprechenden Angabe <frameset rows="20%,80%">.
Im Zusammenhang mit JavaScript kann in einem einleitenden Tag <frameset ... > auch der Event-Handler onLoad= vorkommen.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN" "html.dtd"> <html> <head> <title>Frame-Test</title> </head> <frameset cols="40%,60%"> <frame src="verweise.htm"> <frameset rows="20%,80%"> <frame src="kurzinfo.htm"> <frame src="langinfo.htm"> </frameset> </frameset> </html>
Mit <frame src=> "Dateiname" definieren Sie innerhalb eines Frame-Sets den Inhalt des bzw. der zugehörigen Frames. Bei der Adressierung der Dateien, die in einem Frame angezeigt werden sollen, gelten die gleichen Regeln wie bei der Referenzierung von Grafiken.
Definieren Sie für jede "Zelle" Ihrer gedachten Tabelle einen Frame (vgl. Beispiel).
Wenn Sie zu Beginn noch keinen Inhalt in einem Frame anzeigen wollen, lassen Sie die Angabe src= einfach weg und notieren ein nacktes <frame>. Im obigen Beispiel könnten Sie z.B. die beiden rechten Frames zunächst leer lassen, bis der Anwender aus dem linken Frame einen Verweis ausgewählt hat.
Wenn Sie einen Frame ganz leer lassen wollen, notieren Sie anstelle von <frame> einfach <noframe>.
Beispiel
<frameset cols="40%,60%"> <frame src="verweise.htm" scrolling=yes> <frame src="bilder.htm" scrolling=no> </frameset>Durch die Angabe scrolling=yes im Definitions-Tag eines Frames erzwingen Sie, daß das Anzeigefenster des Frames in jedem Fall Scroll-Leisten besitzt. Durch die Angabe scrolling=no verhindern Sie dies. Wenn Sie das Scrollen des Fensterinhalts verhindern, können Inhalte, die größer sind als das Fenster, nicht vollständig angezeigt werden.
Per Voreinstellung stattet Netscape seine Frame-Fenster dann mit einer Scroll-Leiste aus, wenn der Fensterinhalt es erfordert.
Beispiel
<frameset cols="40%,60%"> <frame src="verweise.htm" scrolling=yes marginwidth=5 marginheight=12> <frame src="bilder.htm" marginwidth=5 marginheight=12> </frameset>Durch die Angabe marginwidth= (Pixel) im Definitions-Tag eines Frames bestimmen Sie den Abstand zwischen rechtem bzw. linkem Fensterrand und dem Fensterinhalt. Durch die Angabe marginheight= (Pixel) bestimmen Sie den Abstand zwischen oberem bzw. unterem Fensterrand und dem Fensterinhalt.
Beispiel
<frameset cols="40%,60%"> <frame src="verweise.htm" scrolling=yes marginwidth=5 marginheight=12> <frame src="bilder.htm" marginwidth=5 marginheight=12 noresize> </frameset>Durch die Angabe noresize im Definitions-Tag eines Frames verhindern Sie, daß der Anwender die Größe des Frame-Fensters verändern kann. Es genügt, die Angabe bei einem Frame zu notieren. Benachbarte Frames können dann auch nicht bewegt werden.
Beispiel
<frameset cols="40%,60%"> <frame src="verweise.htm" frameborder=0> <frame src="bilder.htm" frameborder=0> </frameset>Durch die Angabe frameborder=0 im Definitions-Tag eines Frames erreichen Sie, daß die Rahmen der Frame-Fenster unsichtbar bleiben.
Beispiel
<frameset cols="40%,60%"> <frame src="verweise.htm"> <frame src="bilder.htm" name="Anzeigefenster"> </frameset>Durch die Angabe name= "Fenstername" im Definitions-Tag eines Frames weisen Sie dem Frame einen Namen zu. In Verweisen können Sie diesen Frame unter dem vergebenen Namen adressieren.
Fensternamen müssen in Anführungszeichen stehen, dürfen nicht zu lang sein und nur aus Buchstaben, Ziffern und dem Unterstrichen bestehen. Bei selbst vergebenen Namen darf das erste Zeichen des Namens kein Unterstrich sein.
_blank: Das Verweisziel wird in einem neuen Fenster angezeigt.
_self: Das Verweisziel wird im gleichen Fenster angezeigt wie der Verweis.
_parent: Das Verweisziel wird im übergeordneten Fenster angezeigt. Falls es kein übergeordnetes Fenster gibt, wird das Verweisziel im gleichen Fenster angezeigt wie der Verweis selbst.
_top: Das Verweisziel wird im ersten Fenster einer Fensterhierarchie angezeigt. Falls es kein übergeordnetes Fenster gibt, wird das Verweisziel im gleichen Fenster angezeigt wie der Verweis selbst.
(siehe Verweise zu Frames notieren)
Beispiel
<a href="info.htm" target="rechtes_Fenster">Verweis zum rechten Fenster</a>Zur Adressierung eines Frames in einem Verweis notieren Sie einen gewöhnlichen Verweis-Befehl. Im einleitenden Tag notieren Sie jedoch die zusätzliche Angabe target= (Name des Frame-Fensters). Der Name des Fensters muß in Anführungszeichen stehen.
Sie können hinter target= sowohl selbst definierte Fenster als auch reservierte Fensternamen angeben.
Mit Hilfe von JavaScript können Sie auch den Inhalt mehrerer Frame-Fenster mit einem einzigen Verweis gleichzeitig ändern. Lesen Sie dazu das Beispiel Zwei Frames gleichzeitig ändern.
Beispiel
<head> <base target="Rechtes_Fenster"> .... </head>Das voreingestellte Frame-Fenster für Verweise können Sie im Dateikopf einer HTML-Datei bestimmen. Dazu müssen Sie zwischen <head> und </head> die Anweisung <base target=...> notieren. hinter target= folgt der Name des gewünschten Frame-Fensters. Der Name des Fensters muß in Anführungszeichen stehen. (Siehe hierzu auch Basisfenster für Verweise definieren).
HTML-Dateien selbst erstellen: Inhaltsverzeichnis
Seitenanfang
Blättern:
Style-Sheets (Dokumentvorlagen) |
Farben definieren in HTML
© 1996 Stefan Münz