Frames

Einführung
Das Wort "Frames" bedeutet auf Deutsch Rahmen. Diese Rahmen dienen dazu, den Bildschirm in mehrere Fenster zu unterteilen. Diese Fenster sind frei definierbar, d.h. eigentlich werden in einem sogenannten Frameset mehrere Webseiten gleichzeitig dargestellt. Die einzelnen Webseiten haben jedoch genau definierte Abmessungen.

Obere Seite
Linke Seite.
 
 
Mittlere bzw. Hauptseite.
 
 
Sie sehen nun links eine Seite die in eine obere Leiste, in eine linke und eine Hauptseite unterteilt ist. Typisch für Homepages ist, dass auf der linken Leiste normalerweise Verweismenüs zu finden sind. In dem großen Hauptfenster werden normalerweise die Webseiten angezeigt, wenn man auf einen Link in der linken Seite klickt. Man sollte sich vorher überlegen, ob eine Frameseite für einen selbst günstig ist, immerhin gibt es noch Browser, die keine Frames darstellen können. Der Prozentsatz an nicht framefähigen Browser, ist allerdings nur noch sehr gering und wird bald gänzlich verschwinden.
 
 
Definition eines Frame-Sets
Die Definition wird immer nach dem abgeschlossenen HEAD und mit dem Befehl <frameset> eingeleitet und wird mit </frameset> beendet. In den <Body> der Seite wird meistens nur ein kleiner Verweis geschrieben, der den Leser darauf hinweist, dass diese Webseite mit der Frametechnologie arbeitet. Dies kann der Leser später auch lesen, wenn sein Browser keine Frames unterstützt.


Das Frameset ist ähnlich wie eine Tabelle aufgebaut und wird in Zeilen und Spalten aufgeteilt. Zeilen werden mit dem Attribut rows und Spalten durch cols definiert. Die Werte der Zeilen und Spalten werden in Prozent angegeben.

...
<frameset cols="20%,80%">
Definition von zwei Frames.
    <frameset rows="25%,75%"
    Definition von zwei Frames
    </frameset>
</frameset>
...

Zunächst wird hier das Frameset in zwei Spalten geteilt zu jeweils 20% und 80%. Danach wird die zweite Spalte nochmals in zwei Zeilen aufgeteilt zu je 25% und 75%.

Nun kann man noch die einzelnen Frames benennen und weiter definieren. Bestimmen Sie zunächst welche Webseiten in welchem Framefenster gezeigt werden sollen. Diese können sie nun auch noch mit dem Attribut name benennen.
Wenn Sie nun etwas verwirrt sind, wird sich das vielleicht mit folgendem Beispiel klären:

<html>

    <head>
    <title>
    Hier könnte ihr Titel für das Frameset stehen.</title>
    </head>
      <frameset cols="25%,75%">
        <frame src="links.html" name="linke Leiste">
          <frameset rows="25%,75%">
            <frame src="oben.html" name="obere Leiste">
            <frame src="haupt.html" name="Hauptfenster">
          </frameset>
      </frameset>

<body>
Hier sollte ein kurzer Hinweis darauf stehen, dass diese Webseite mit der Frametechnologie arbeitet.
</body>
</html>

Hinter dem src steht der Name der HTML-Datei und hinter dem name steht der typische Name des Frames den Sie für Verweise zu den einzelnen Frames später brauchen.
Hier in diesem Beispiel werden die einzelnen Rahmen (Frames) durch Balken, sogenannte Borders voneinander getrennt. Um diese Balken verschwinden zu lassen, müssen sie dem Befehl "frame" die Attribute "frameborder=0, framespacing=0 und border=0" hinzufügen.

Einige weitere Befehle für Frames.

<frameset rows="Angabe%,Angabe%,...">
.................
</frameset>
Definition der Anzahl und Größe eines Framesets mit Reihen.
<frameset cols="Angabe%,Angabe%,...">
.................
</frameset>
Definition der Anzahl und Größe eines Framesets mit Spalten.
<frame src="Seitenname" name="Fenstername"> Benennung der anzuzeigenden Web-Seite und Namensgebung des Fensters.
<frame src... scrolling=yes> Die Scrollbars werden immer angezeigt.
<frame src... noresize> Auf diese Weise kann der Surfer die Größe des Framefensters nicht mehr verändern.
<frameset... border="Zahl"> Hiermit bestimmen Sie die Rahmenstärke des Frames unter Netscape. Für "Zahl" müssen Sie ein Zahl>0 einsetzen.
<frameset... frameborder="Zahl"> Erzeugt im Internet-Explorer für Frames einen 3D-Rahmen 1=ja; 0=nein
<frameset... frameborder=0 framespacing=0> Auf diese Weise können Sie den Rahmen des Frames beim Internet-Explorer unterdrücken.
<frameset... bordercolor=#000000> So erzeugen Sie einen farbigen Frame-Rahmen. Anstelle der sechs Nullen können Sie natürlich jede beliebige Zahl aus unserem Farbauswähler einsetzen.

 
 
Links in andere Framefenster

Wenn Sie einen Link in ein Frameset setzen, werden diese immer mit dem Attribut TARGET versehen. Hierbei spielen die Namen der einzelnen Frames eine wichtige Rolle. Über die Namen wird festgelegt in welchem Framefenster die neue Datei angezeigt werden soll, die mit dem entsprechenden Link aufgerufen wurde.

Zum besseren Verständnis sehen Sie nun drei kleine Beispiele:

<! Erstes Beispiel->
<a href="datei.html" target="haupt">
Verweisbeschreibung</a>

Es soll eine Datei aus den Links in "haupt" angezeigt werden. Hier dürfen Sie den Zusatz target auf keinen Fall vergessen, da sonst die datei.html im selben Fenster und nicht in "haupt" angezeigt wird.

<! Zweites Beispiel->
<a href="datei.html" target="_top">
Verweisbeschreibung</a>

Das Verweisziel wird nun im ganzen bestehenden Browserfenster angezeigt.

<! Drittes Beispiel->
<a href="datei.html" target="_blank">
Verweisbeschreibung</a>

Auf diese Weise wird das Verweisziel in einem neuen Fenster geöffnet.
 
Abschließend ist darauf zu achten, nicht zuviele Frames auf einmal zu verwenden, da Ihre Seite sonst an Übersichtlichkeit verliert. Außerdem sollten Sie darauf achten, dass fremde Seiten in einem eigenen Fenster dargestellt werden. Aus dem einfachen Grund, weil nicht nur Sie Frameseiten verwenden, sondern viele andere auch. Wenn Sie einen Verweis auf eine fremde Frameseite machen und versuchen, sie in Ihrem Frameset darzustellen, kann Ihr Browser die Seiten nicht mehr richtig darstellen. Wenn Sie jedoch sorgfältig programmieren und sich an die Grundregeln des guten Programmierens halten, sind Frames eine gute Möglichkeit Ihre Webseite übersichtlich und interessant zu gestalten.