Informatik :: HTML :: Frames

Frames

Frameset | Frames | Verweise zu anderen Frames | Aufgaben

Frameset

Mit Frames (Frame=Rahmen) kann der Bildschirm in mehrere rechteckige Anzeigefenster eingeteilt werden.
Mehrere zusammengehörige Frames bilden ein sogenanntes Frameset (Satz von Fenstern).

Beispiel:

Die entscheidende Anweisung zur Festlegung des Framesets lautet:

<frameset>
...
</frameset>

Dieser Bereich muss anstatt des <body>-Bereiches im HTML-Dokument erscheinen.

Attribute im <frameset>-Tag

ROWS = "Zahl1,Zahl2,Zahl3,..." - Höhe der horizontalen Frames (Zeilen) in Pixel oder %
- Anzahl der Zahlen = Anzahl der horizontalen Frames;
- anstelle einer Zahl ist auch die Wildcard * möglich (Rest)
oder (ausschließendes)
COLS = "Zahl1,Zahl2,Zahl3,..." - Breite der vertikalen Frames (Spalten) in Pixel oder %;
- Anzahl der Zahlen = Anzahl der vertikalen Frames;
- anstelle einer Zahl ist auch die Wildcard * möglich (Rest)
FRAMEBORDER ="0" bei IE - Frame ohne Rahmen
BORDER="0" bei Netscape
FRAMESPACING="Zahl" - Abstand zwischen den Frames in Pixel

Nach dem einleitenden <frameset>-Tag erfolgt die Definition der einzelnen Frames durch <frame> bzw. ein weiteres Frameset.

Struktur des oben abgebildetes Framesets

Syntax Erklärung
<frameset COLS="20%,*">
     <frame>
     <frameset ROWS="30%,50%,*">
         <frame>
         <frame>
         <frame>
     </frameset>
</frameset>
2 Spalten (20% und 80% breit)
    1. Spalte
    2. Spalte in 3 Zeilen (30%, 50% und 20% hoch)
        1. Zeile
        2. Zeile
        3. Zeile
    Ende 2. Spalte
Ende Bildschirm 

Seitenanfang

Frames

In jedem einzelnen Frame kann nun eine HTML-Datei gelesen werden, d.h. insgesamt so viele Dateien gleichzeitig, wie Frames vorhanden sind.
Damit ergibt sich der Vorteil bei mehreren Webseiten des gleichen Projektes, dass sich wiederholende Inhalte (z.B. ein Inhaltsverzeichnis) in einem Frame beibehalten werden können, während in einem anderen Frame ständig wechselnde Seiten gezeigt werden.
Dies spart Ressourcen und ist außerdem für den Nutzer übersichtlicher.

Attribute im <frame>-Tag

SRC = "Pfad/Dateiname" Lesen der Datei im entsprechenden Frame
NAME="Framename" Benennen des Frames, um ihn als Zielort für andere Dateien
verfügbar zu machen
BORDER="Pixelzahl" Rahmenstärke
NORESIZE Größe des Frames kann auf der Seite nicht verändert werden
SCROLLING = "AUTO | YES | NO" Frame bekommt bei Bedarf (Voreinstellung) | immer | nie eine Scroll-Leiste 
MARGINWIDTH = "Pixelzahl" Abstand des Frame-Inhalts zum linken und rechten Frame-Rand
MARGINHEIGHT = "Pixelzahl" ... zum oberen und unteren Frame-Rand

Seitenanfang

Verweise zu anderen Frames

Soll eine referenzierte Datei nicht im selben Frame angezeigt werden, so muss dies dem Verweis "mitgeteilt" werden.
Dies geschieht durch das Attribut TARGET (von Ziel).

Beispiele:

<a HREF="datei.html" TARGET="main"> ... </a> die Datei wird im Frame mit dem Namen main angezeigt
<a HREF="datei.html" TARGET="_BLANK"> ... </a> die Datei wird in einem neuen Browserfenster angezeigt
<a HREF="datei.html" TARGET="_SELF"> ... </a> die Datei wird im selben Frame angezeigt (Voreinstellung)
<a HREF="datei.html" TARGET="_PARENT"> ... </a> die Datei wird im übergeordneten Frame angezeigt
<a HREF="datei.html" TARGET="_TOP"> ... </a> die Datei wird im obersten Frame angezeigt

Möchten Sie, dass alle in einer HTML-Datei enthaltenen Verweise zu einem bestimmten anderen Frame-Fenster führen, so ist das durch die Anweisung <base TARGET=...> möglich, die im Kopf notiert werden muss.

Unfaire Schaufenster-Effekte:

Mit Hilfe von Frames wäre es möglich, auch fremde WWW-Seiten innerhalb eines Frame-Fensters im eigenen Web-Projekt darzustellen.
Dies ist jedoch sehr problematisch, denn auf diese Weise verkommen fremde WWW-Seiten zu "Schaufenstern" innerhalb des eigenen Web-Projekts.
Das ist eine unfeine Geste gegenüber den Fremdanbietern und wird inzwischen bei groben Verstößen geahndet, weil es das eigene Web-Projekt in den Augen des Anwenders als "Mega-Projekt" erscheinen läßt.
Wenn du also innerhalb eines Frame-Projekts auf fremde Seiten verweisen willst, so solltest du mittels <a href="http://..." target = "neu" ein neues Browserfenster bzw. einen neuen -tab öffnen.


Seitenanfang

Aufgabe 1:

Erstelle folgendes Frameset (Datei 08_Frames1.html)! 


Aufgabe 2:

Erstelle folgendes Frame-Projekt:
Startdatei 08_Frames2.html liefert:

Nach Mauseklick auf Fußball:

Nach Mauseklick auf Handball:


Seitenanfang