Seiten mit Frames gestalten
Was sind Frames?
Frames sind die Definition der Aufteilung des Browserfensters zur gleichzeitigen Anzeige mehrerer HTML-Dateien.
Die Position der Frames lässt sich einfach und einzeln bzw. für mehrere Frames gemeinsam festlegen.
Der Inhalt der Frames lässt sich individuell ändern.
Vorteile von Frames
Da in den Frames der Inhalt unterschiedlicher Dateien dargestellt wird, eignen sie sich besonders zum Umsetzen der Navigation von Webseiten mit komplex strukturierten Inhalten.
So lässt sich in einem Frame die Datei mit der Navigation unterbringen, die nur einmal geladen werden muss und danach den Frame mit dem Inhalt steuert.
Nachteile von Frames
Ein "kleiner" Nachteil von Frames ist, dass nicht alle Browser Frames anzeigen können bzw. dass manche Browser Schwierigkeiten mit der korrekten Darstellung haben. Allerdings dürfte dieser Nachteil bald verschwinden.
Der größere Nachteil ist, dass die Robots der Suchmaschinen Schwierigkeiten mit der Indizierung von Frameseiten haben. Anders ausgedrückt: Sucht man mit Hilfe von Suchmaschinen nach Schlüsselwörtern bestimmter Seiten, werden diese nicht gefunden.
Eine weitere Schwierigkeit ist das Verlinken mit Inhalten der Frames, denn der Hyperlink auf eine Seite mit Frames führt eben auf diese Seite mit den Frames, aber nicht auf eine bestimmte Seite in einem Frame.
Es bleibt abzuwarten, in welche Richtung die Entwicklung geht ...
Frames definieren
Ein Frameset festlegen
Eine Seite mit Frames besteht aus einem Frameset - also einer Gruppe von Frames.
Das Frameset wird zwischen dem </head> und dem <body>-Tag definiert.
Hier ein Beispiel für die Aufteilung einer Seite in drei Frames:
<frame name="Banner" scrolling="no" noresize target="Inhalt" src="banner.htm">
<frameset cols="130,*">
<frame name="Inhalt" target="Hauptframe" src="menu.htm" scrolling="no">
<frame name="Hauptframe" src="start.htm" target="_self">
</frameset>
</frameset>
Erläuterungen
Das Frameset wird von den Tags <frameset> und </frameset> eingeschlossen.
Direkt im einleitenden Tag wird das Aussehen des Frames definiert. <frameset rows="45,*"> legt eine waagerechte Unterteilung fest (vergleichbar mit einer Zeile in einer Tabelle), wobei die Höhe des ersten Elements 45 Pixel beträgt. Außerdem wird im Beispiel festgelegt, dass der Frame einen sichtbaren Rahmen hat.
Danach werden dem Frame im Frameset ein Name und die Datenquelle zugeordnet. <frame name="Banner" src="banner.htm"> Der Name dient der Referenzierung des Frames, die Quelle bestimmt die anzuzeigende Datei.
Danach wird im Beispiel ein zweites Frameset definiert, das das Fenster in zwei senkrechte Bereiche unterteilt (vergleichbar mit den Spalten einer Tabelle. Durch das Attribut cols in <frameset cols="130,*"> wird errreicht, dass Spalten angezeigt werden und die erste Spalte 130 Pixel breit ist.
Da zwei Frames definiert werden ("Inhalt" und "Hauptframe"), werden auch zwei angezeigt.
Interessant ist das Attribut target="Hauptframe". Es bestimmt, wo Hyperlinks geöffnet werden, auf die im Frame "Inhalt" geklickt wird.
Durch das Attribut target="_self" im Frame "Hautframe" wird festgelegt, dass zu öffnende Hyperlinks im selben Frame angezeigt werden -es wird also kein neues Fenster im Browser geöffnet.
Wie die entsprechende Seite angezeigt wird, findet ihr im Beispiel mit Frames.
Notwendige Festlegungen in den anderen Dateien
Damit sich Hyperlinks in den einzelnen Dateien im "Hauptframe" im selbem Frame öffnen, sollte man das im <head> der jeweiligen Datei festlegen: <base target="_self">.
Natürlich kann man das für jeden Hyperlink einzeln festlegen, dann müsste man aber mehr schreiben.