StarHTML HTML-Wissen Frames (Fensteraufteilung)

Frames
Frames (engl. Rahmen; gespr. Fräims) sind
eine neue Art der Gestaltung von Internetseiten. Dabei wird eine Internetseite in mehrere HTML-Dateien geteilt, die
nebeneinander auf dem Bildschirm erscheinen und durch Rahmen getrennt sind. Die nebenstehende Abbildung zeigt ein typisches
Frameset (Frame-Gruppen).

 Definieren von Frames
Bei solchen Framesets gibt es immer eine Datei, die "am höchsten steht" und mehrere andere HTML-Dateien auf der
Seite vereint. Der Aufbau dieser höchsten Datei weicht vom Grundgerüst von HTML-Dateien ab. Der Body-Teil enthält
die Seite, wie sie angezeigt wird, wenn der Browser keine Frames "versteht". Zwischen Seiten-Kopf und -Körper, also
zwischen den Tags </head> und <body> wird das
Frameset definiert.
Zuerst wird immer ein Frameset definiert und dann die einzelnen Frames:
<frameset [rows/cols]="*,*">
<frame src="[Datei]" name="[Name]">
<frame src="[Datei]" name="[Name]">
</frameset> |
Sie benutzen in der ersten Zeile entweder rows (rows = Reihen), wenn die Frames übereinander liegen
sollen, oder cols (cols = columns = Spalten) wenn die Frames nebenenander sein sollen. Außerdem
legen Sie dahinter in Anführungszeichen die Breite bzw. Höhe der Frames fest:
Und zwar in Pixeln, Prozent des Fensters (Zahl + %) oder, wenn Sie für alle anderen Frames bereits eine Größe festgelegt
haben, zufällig mit * (der Rest des Fensters wird für dieses Frame verwendet). Die Angaben werden mit Kommas getrennt.
Wenn Sie mehr als zwei Frames in einem Framesets definieren wollen, setzen Sie dahinter weitere Größen, durch Kommas
getrennt.
Dann definieren Sie die Frames mit <frame src="*" name="*"> . Hinter src=
geben Sie in Anführungszeichen den Dateinamen der Datei an, die in diesem Frame beim ersten Laden der Seite erscheinen
soll. Dafür gelten dieselben Regeln, wie beim Definieren von Verweisen.
Hinter name= geben Sie in Anführungszeichen den Namen des Frames an. Da _self, _new, _parent, _blank
und _top in HTML bereits definierte Frame-Namen sind, dürfen Sie keine Frames so benennen. Frame-Namen sind wichtig,
wenn Sie mit einem Verweis in einem Frame den Inhalt eines anderen ändern möchten (siehe
unten).
(Natürlich darf jeder Frame-Name nur einmal pro Frameset vorkommen.)
<frameset rows="20%,80%">
<frame...>
<frame...>
</frameset>
|
<frameset cols="200,*">
<frame...>
<frame...>
</frameset>
|
 |
 |
Innerhalb eines Frameset kann auch noch ein Frameset anstelle eines Frames definiert werden. Dieses Frame wird dann noch
in weitere Frames geteilt. Sie müssen nur statt <frame src="[Datei]" name="[Name]"> mit
<frameset [rows/cols]="*,"> ein neues Frameset definieren, für die einzelnen
Frames Quelldatei und Name festlegen und dahinter das Frameset beenden. Am Ende wird natürlich das oberste Frameset extra
beendet.
<frameset cols="40%,60%">
<frame...>
<frameset rows="50,*">
<frame...>
<frame...>
</frameset>
</frameset>
|
<frameset rows="50%,50%">
<frameset cols="50%,50%">
<frame...>
<frame...>
</frameset>
<frameset cols="50%,50%">
<frame...>
<frame...>
</frameset>
</frameset> |
 |
 |

 Eigenschaften von Frames
Folgende Optionen können im Frameset-Tag <frameset ...> erscheinen:
Befehl | Bedeutung |
border=0 frameborder=0 |
(border = Rahmen) Verhindert die 3D-Rahmen in diesem Frameset.
border=0 für Netscape, frameborder=0 für den IE |
Folgende Optionen können im Frame-Tag <frame ...> erscheinen:
scrolling=no |
(scrolling = blättern) Verhindert Scroll-Leisten in diesem Frame.
|
scrolling=yes |
Erzwingt Scroll-Leisten.
|
marginwidth= |
(margin = Rand) Hier können Sie den Abstand links und rechts vom Frame-Inhalt zum Frame-Rand festlegen.
|
marginheight= |
Hier können Sie den Abstand oben und unten vom Frame-Inhalt zum Frame-Rand festlegen.
|
noresize |
(noresize = no resize = keine Größenveränderung) Damit verhindern Sie, dass der Nutzer die Größe des Frames ändern kann.
|

 Verweise in Framesets
Sie können ein Frameset beispielsweise dazu nutzen, um mit einem Hauptframe ein anderes zu beeinflussen
und so innerhalb eines Projekts zu navigieren. Solche Verweise müssen im Verweis-Tag
<a href="*"> die Option target="*" beinhalten.
Für * setzen Sie den Namen des Frames ein, in dem die Seite erscheinen soll. Beispiel:
Frameset-Definition: (in der übergeordneten "index.htm")
<frameset cols="200,*">
<frame src="frame.htm" name="links">
<frame src="start.htm" name="rechts">
</frameset> |
Verweis-Definition: (in der Datei "frame.htm")
<a href="infos.htm" target="rechts">Infos</a>
|
Soll, wenn ein Verweis angeklickt wird, das Frameset beendet werden,
muss die Option target="_parent" in das Verweis-Tag eingefügt werden.
Achtung: Wenn Sie mehrere Framesets ineinander verschachtelt haben, wird damit nur das
aktuelle Frameset beendet. Sollen alle Framesets beendet werden, müssen Sie stattdessen _top einfügen.
Praxis:
Verwenden Sie nicht zu viele Frames auf einer Seite, das sorgt bei kleinen Monitoren für Verwirrung und bei ihnen für Dateisalat.
|