Es gibt Leute die sind begeistere Frames-Anhänger
und es gibt Leute denen sind Frames verhasst. Das ist schon
fast ein Glaubenskrieg geworden. Ich zeige Euch wie es geht
und ihr könnt selber entscheiden, ob es Euch zusagt oder
nicht. Ein Vorteil ist, dass nicht immer das bestehende Menü
jedesmal neu geladen werden. Ein Nachteil ist, dass der Frameaufbau
eine längere Ladezeit benötigt. Ausserdem gibt es
Browser wie Lynx, die können keine Frames darstellen.
Dieser Browser wird eher selten verwendet.
Was brauche ich für eine Frameseite?
Ein Definitionsseite wo das Frameset definiert
wird und Frameunterseiten. Framesets bestimmen die Aufteilung
der Framefenster, welche Framefenster verwendet werden, den
Noframes-Bereich, der ist für Browser gedacht, die keine
Frames anzeigen können, oder bei denen die Anzeige von
Frames deaktivierbar ist und vom Anwender deaktiviert wurde.
So sieht das in der Rohfassung aus - ohne
eine genaue Definition:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN"
<html>
<head>
<title>Titel</title>
</head>
<frameset ...> <!-- Frameset-Definition -->
<frame ...> <!-- Framefenster-Definition -->
<noframes>
Wird angezeigt, wenn der Browser keine Frames anzeigen
kann
</noframes>
</frameset>
</html>
|
Hier ein Beispiel eines klassischen Framesets.
|

Beispiel
anschauen
|
<frameset cols="20%,80%" framespacing="0"
border="0" frameborder="0">
<frame src="links.htm" target="links"
scrolling="auto" noresize>
<frame src="rechts.htm" target="rechts">
<noframes>
</noframes> </frameset>
<frameset cols="*"> <noframes>Ihr
Browser kann keine Framesets darstellen. Diese Webseite
arbeitet jedoch mit Frames.</noframes>
<frameset> </frameset>
</frameset>
|
Was bedeuten die Begriffe alle?
cols="20%,80%" - Die Spalten
(colums, cols) sind in diesem Fall prozentual festgelegt worden.
Die linke Spalte hat 20%, die rechte 80%. Statt einer Prozentzahl
kann auch ein Pixelmaß festgelegt werden. Dann heißt
es z.B.: cols=150,* d.h. die Frameseite wäre 150 Pixel
breit. Der Stern bedeutet: den Rest des Bildschirms füllt
eine andere Frameseite aus.
In unserem Fall ist keine horizontale Aufteilung
vorhanden, Diese würde in rows festgelegt werden.
framespacing="0" border="0"
frameborder="0"> - Verhindert Abgrenzungslinien
zwischen den einzelnen Frames.
<frame src="links.htm" target="links"
scrolling="auto" noresize> Ein Frameteil
ist die Webseite links.htm. target bedeutet, wenn in
diesem Frameteil eine andere Webseite geöffnet werden
soll, muss als Zieladresse links angegeben werden.
Scrolling auto macht, dass wenn nicht alles im Browser
sichtbar sein sollte, ein Scrollbalken kreiert wird. Noresize
heisst, dass man im Browser das Frameset nicht verschieben
kann.
Zwischen <noframes> </noframes>
Kann man z.B. "Ihr Browser kann keine Framesets darstellen.
Diese Webseite arbeitet jedoch mit Frames" schreiben.
Hier sind weitere Beispiele, wobei ich
drei weitere Beispiele als Webseite gemacht habe.
|
Beispiel anschauen
|
<frameset rows="15%,70%,15%" cols="*">
<frame src="oben.htm">
<frameset cols="20%,80%" rows="*">
<frame src="links.htm">
<frame src="mitte.htm">
</frameset>
<frame src="unten.htm">
</frameset>
|
|

Beispiel
anschauen
|
<frameset rows="10%,90%">
<frame src="oben.htm">
<frameset cols="20%,80%" rows="*">
<frame src="links.htm">
<frame src="rechts.htm">
</frameset>
|
|

Beispiel
anschauen
|
<frameset rows="20%,60%,20%">
<frame src="oben.htm">
<frameset cols="20%,60%,20%">
<frame src="links.htm">
<frame src="mitte.htm">
<frame src="rechts.htm">
</frameset>
<frame src="unten.htm">
</frameset>
|
|

Beispiel
anschauen
|
<frameset cols="20%,60%,20%">
<frame src="links.htm">
<frameset rows="20%,80%">
<frame src="oben.htm">
<frame src="mitte.htm">
</frameset>
<frame src="rechts.htm">
</frameset>
|
 |
<frameset rows="20%,60%,20%">
<frame src="oben.htm">
<frame src="mitte.htm">
<frame src="unten.htm">
</frameset>
|
 |
<frameset rows="80%,20%">
<frame src="oben.htm">
<frame src="unten.htm">
</frameset>
|
 |
<frameset cols="30%,70%">
<frame src="links.htm">
<frameset rows="30%,70%">
<frame src="oben.htm">
<frame src="unten.htm">
</frameset>
</frameset>
|
 |
<frameset rows="50%,50%" cols="*">
<frame src="oben.htm">
<frame src="unten.htm">
</frameset>
|
 |
<frameset cols="50%,50%" rows="*">
<frame src="oben.htm">
<frame src="unten.htm">
</frameset>
|
 |
<frameset rows="90%,10%" cols="*">
<frame src="oben.htm">
<frame src="unten.htm">
</frameset>
|
Wem das alles doch nicht zusagt, gibt es Tabellen-Layouts
auch auf Grafikland, oder alternativ gibt es noch das I-Frame.