(FH) - Ein professionelles Aussehen erreicht man mit Frames. Frames machen nichts anderes als das Browser-Fenster in mehrere kleinere Fenster zu unterteilen. Und in jedem Fenster wird eine andere Datei geladen. Die Datei, die die Informationen für die Frames enthält, also z. B. die Größe der einzelnen Frames, arbeitet nur als Steuerdatei. Mit dem Beispiel der Verwendung von Frames auf dieser Seite will ich die Verwendung der Frames erläutern.
|
Bei diesem Beispiel ruft die Datei index1.html die Frameversion auf. Sie teilt die Browserseite in 3 ungleiche Bereiche ein. Die Bereiche werden in Prozent angegeben. So hat der Frame Nr. 1 eine Breite von 100% und eine Höhe von 23%. Frame Nr. 2 ist schmaler mit 13% gehalten. Frame Nr. 3 hat somit eine Breite von 87% (100%-13%).
Im Prinzip kann man beliebig viele Frames verwenden. Mehr als drei empfehlen sich aber nicht, da die Ladezeiten zu lange werden.
Der Code für das obere Beispiel: |
<html>
<head>
<title>+++ Das virtuelle Klassenzimmer +++</title>
</head>
<frameset rows="23%,*" frameborder="no">
<frameset cols="100%,*">
<frame scrolling="AUTO" src="frame2.html">
</frameset>
<frameset cols="13%,*">
<frame src="frame3.html">
<frame src="frame4.html" name="HCD">
</frameset>
<noframes>
<body>
<p>Diese Seiten benötigen einen Browser der Frames
unterstützt. Bitte wähle die Version ohne Frames. </p>
<p><a href="index.html">Zur Auswahl</a></p>
</body>
</noframes>
</frameset>
</html>
Der Tag <frameset rows="23%,*"> weist hier dem oberen Frame eine Höhe von 23% zu. Der * nach dem Komma ersetzt die Pixel-Größe des Frames. Da je nach Inhalt die Größe variiert, kann der Browser so die Größe automatisch berechnen, was auch meistens sinnvoll ist.
Der Tag <frameset cols="100%,*"> weist dem obigen Frame jetzt noch die Breite zu. Diesmal 100%, also die volle Bildschirmbreite. Bei einer Auflösung von 800x600 wären dies 800 Pixel, bei einer Auflösung von 640x480 640 Pixel.
Mit <frame scrolling="AUTO" src="frame2.html"> wird dem Browser mitgeteilt, welche Datei er im oberen Frame laden soll. Der Zusatz AUTO sagt, daß bei großen Inhalten die Laufleiste automatisch hinzugefügt werden soll. Ist der Frame für den Inhalt der HTML-Datei groß genug, so wird die unschöne Laufleiste entfernt. Alternativ kann außer AUTO auch YES oder NO eingegeben werden. Um den Frame abzuschließen, schließt man jetzt noch den Tag </frameset> an. Diesen darf man nicht vergessen.
Für jede Spalte mit Frames muß man 1 (!) Frameset anlegen. Für die zwei letzten Frames genügt einer, da sie in einer Zeile laufen.
Äußerst wichtig ist der Zusatz HCD bei dem Frame 4: <frame src="frame4.html" name="HCD"> er teilt dem Frame einen Namen zu. Dies ist äußerst wichtig! Im Frame Nr. 2 sind die Links vertreten. Der Standardmäßige Link würde z. B. heißen: <a href="frame4.html">Startseite</a>. Klickt man jetzt den Link an, so wird im Frame Nr. 2 die Datei frame4.html geladen. Dies ist aber nicht der Sinn der Frames! Denn die Links sollen erhalten bleiben, und der Inhalt soll sich im Frame Nr. 3 ändern. Deshalb hat man oben den Frame Nr. 4 benannt. Und mit <a href="frame4.html" target="HCD">Startseite</a> wird jetzt die Datei frame4.html korrekt im Frame Nr. 3 geladen. Mit dem Tag <a href="f1.html" target="HCD">Formel 1</a> würde man also einen Link erhalten, der bei einem Klick im Frame Nr. 1, 2 oder auch 3 im Frame Nr. 3 die Datei f1.html lädt.
Wenn die Rahmen stören
Mit dem Tag <frameset rows="23%,*" border="0" frameborder="no"> hat man die Möglichkeit, die Rahmen zwischen den einzelnen Frames abzustellen. Standard ist YES. Hierbei muß aber beachtet werden: Hat man den Rahmen abgestellt, kann der Benutzer in Netscape die Größe des Rahmens nicht mehr ändern! Das geht nur noch im Internet Explorer. Der Internet Explorer läßt übrigens eine feine graue Linie, die etwas stört. Die Linie in Netscape entfernt man mit dem Tag border="0". Man benötigt also beide Befehle, damit auf beiden Browsern das optimale Ergebnis erziehlt wird.
Man spricht Frames... oder auch nicht!
Netscape unterstützt seit der Version 2 Frames. Aber ein paar wenige besitzen eine Version, die keine Frames unterstützen. Deshalb kann man mit dem Tag <noframes> eine Alternative anbieten, die nur aktiviert wird, wenn der Browser keine Frames unterstützt. Hier empfiehlt sich eine Fehlermeldung, die eine darauf hinweist, daß der Browser keine Frames unterstützt. Mann könnt hier z. B. auch veranlassen, daß der Browser gleich eine Version ohne Frames lädt.
Die Sache mit der Auflösung
Durch Unterschiede zwischen den einzelnen Browsern ist der Webproduzent schon genug geplagt. Jetzt kommt aber noch hinzu, daß bei der Verwendung von Frames Probleme mit der Auflösung entstehen. Bei einer optimierten Version für eine Auflösung von 800x600 hat der Benutzer mit einer Auflösung von 640x480 Probleme, da der Text nicht in die Frames paßt und unschön verrutscht. Deshalb empfiehlt es sich, eine Version anzubieten, die auch ohne Frames läuft. |