"Frame"
das unbekannte Wesen
Fenster
mit Aussicht
Sie werden geliebt
oder gehaßt: Frames sind wohl die umstrittenste Gestaltungtechnik
überhaupt,
die ein HTML-Bastler
einsetzen kann. Dabei sprechen zahlreiche gute Gründe für eine
Homepage
mit Fenstern.
Hier wird nun gezeigt, wie man Frames richtig einsetzt.
Wohin sich der
Surfer im Web auch bewegt, irgendwann stößt er auf eine Seite,
auf der Rollbalken
und graue Linien
die Harmonie des Seiten-Designs zerstückeln – auf eine Webseite mit
Frames.
Fakt ist: Schlecht
umgesetzte Homepage-Beispiele finden sich zuhauf – langweiliger Seitenaufbau
im starren Raster,
ungeschickt angelegte Fenstergrößen, lange Ladezeiten durch
Grafikoverkill.
Doch auch die
Vorteile der Frame-Technik liegen auf der Hand: Durch eine feste Navigationsleiste
zum Beispiel
behält der Surfer den Überblick. Er weiß, wo er sich befindet
und was es noch
anzuschauen gibt
– er sieht quasi ein ständig aufgeklapptes Inhaltsverzeichnis. Für
den Designer
des Webauftritts
ist interessant, daß Logos, Werbebanner, Counter und Emailsymbole
so in Frames
eingebunden werden
können, daß sie immer präsent sind. Das ständige Neuladen
entfällt, und der
Besucher freut
sich über die gesparte Online-Zeit. Und schließlich sieht eine
Web-Seite mit Frames
einfach professioneller
aus – besonders, wenn sie dezent eingesetzt werden.
1.) So funktionieren Frames
2.) Die Rahmenbedingung
3.) Einfache Aufteilung
4.) Werte zuweisen
5.) Frames füllen
6.) Namenstag mit Zielschuss
7.) Mehrfache Aufteilung
8.) Ränder mit dem Auto schieben
9.) Ganz sicher gehen
10.)
Musterbeispiel
1.) So funktionieren
Frames
Daß ein
Browser seine Oberfläche in Fenster aufteilen soll, wird ihm durch
eine separate
HTML-Seite mitgeteilt.
Die einzige Funktion dieser Seite ist es, mit dem Befehl frameset die
Größe
und Anordnung der Fenster zu definieren, die erzeugt werden sollen. Text
oder andere
Befehle enthält
die Seite nicht. Für jeden definierten Frame muss eine Web-Seite erstellt
werden,
die dann vom
Browser in das vorgesehene Fenster eingesetzt werden kann. Und damit der
Browser sich
nicht beim Nachladen in einem Wirrwarr von Dateien verstrickt, können
Frames
auch Namen erhalten.
Insgesamt muss immer eine HTML-Seite mehr geschrieben werden, als
Fenster im Browser
zu sehen sind.
zurück nach oben
2.) Die Rahmenbedingung
Eröffnet
und geschlossen wird das Spiel mit den Fenstern durch den Befehl
<frameset>
</frameset>.
Er wird in das
Grundgerüst einer HTML-Seite vor oder besser anstatt des
<body>-Befehls
eingefügt. Da auf der Frame-Seite keine Seiteninhalte sichtbar
sind, ist der
Body ohnehin überflüssig.
zurück nach oben
3.) Einfache
Aufteilung
Mit den Parametern
cols und rows wird die Aufteilung des Browser-Fensters festgelegt. Cols
steht für
das englische „columns“, teilt das Browser-Fenster also in Spalten auf.
Diese Art der
Aufteilung wird
sehr häufig für ein Inhaltsverzeichnis und übersichtliche
Navigation eingesetzt.
Mit rows (engl.
Reihen) wird das Browser-Fenster horizontal geteilt. Das geschieht häufig,
um
Werbebanner am
oberen oder unteren Bildrand festzupinnen.
zurück nach oben
4.) Werte
zuweisen
Um die gewünschten
Framegrößen festzulegen, weist man den Parametern Werte zu.
Das kann
in Prozent, durch
Bildpunkte, Platzhalter oder auch durch relative Angaben erfolgen, aber
auch
durch Kombinationen
dieser Werte. Durch den Befehl
<frameset
cols=“20%,80%“>,
erzeugt der Browser
beispielsweise einen linken Frame, der 20 Prozent des verfügbaren
Platzes
einnimmt und
einen rechten, der den übrigen Platz ausfüllt. Dabei spielt die
Größe des Bildschirms
keine Rolle.
Das Verhältnis bleibt immer 20 zu 80. Definieren Sie die Frame-Seite
mit
<frameset
cols=“,2*“>
so teilt der
Browser sich in eine linken und einen rechten Frame, wobei der rechte immer
doppelt
so groß
ist wie der linke. Für den Einsatz einer Navigationsleiste empfiehlt
sich eine Kombination
von Bildpunkten
mit einem (Stern). Der Befehl
<frameset
cols=“150,*“>
erzeugt einen
Frame mit 150 Bildpunkten Spaltenbreite und einen zweiten, der den Rest
des
Browser-Fensters
ausfüllt. Die Breite des zweiten Fensters ist also nur abhängig
von der
Auflösung
des Monitors beziehungsweise der Größe des Browsers auf dem
Bildschirm. Um eine
horizontale Teilung
des Browsers zu erreichen, ersetzt man einfach den Parameter cols durch
rows.
zurück nach oben
5.) Frames
füllen
Eine Frame-Seite
bleibt leer, wenn in die Fenster nicht
auch Web-Seiten
geladen werden. Das erledigt der Befehl
<frame
src=“Seite.htm“>.
Entschließen
Sie sich, das Browser-Fenster vertikal zu teilen,
dann könnte
Ihre Seite mit Frames so aussehen:
<HTML>
<HEAD>
<TITLE>
Workshop:
FRAMES basteln
</TITLE>
</HEAD>
<frameset
cols=“150,*“>
<frame
src=“Navigation.htm“>
<frame
src=“Bannerseite.htm“>
</frameset>
</HTML>
Nach dem Frameset-Befehl
gibt man also lediglich die Seiten an, die – von links nach rechts –
in die Fenster
geladen werden sollen. Achten Sie darauf, dass die Inhaltseiten sich mit
der
Frame-Seite in
einem Verzeichnis befinden, sonst sucht der Browser vergebens.
zurück nach oben
6.) Namenstag
mit Zielschuss
Das obige Beispiel
hat einen Haken: Die Navigation funktioniert damit nicht. Will man im linken
Navigations-Frame
einen Hyperlink einbauen, so dass sich im rechten Fenster eine neue Seite
lädt, braucht
man die Attribute Name und Target. Mit Name benennt man einen Frame, keine
HTML-Seite. Das
obige Beispiel könnte also wie folgt erweitert werden:
<frame
src=“Hauptseite.htm“ name=RechteSeite>
Damit hat das
rechte Fenster den Namen „RechteSeite“ erhalten und kann nun mit dem Parameter
Target (engl.
Ziel) anvisiert werden. Und zwar unabhängig von der HTML-Seite, die
sich gerade
in dem Frame
befindet. Die Befehlssyntax für einen Link kennen Sie bereits aus
den ersten
Workshop. Der
erweiterte, vollständige Link-Befehl könnte demnach so aussehen:
<a
href=“Hauptseite.htm“ Taget="RechteSeite"> Haupseite</a>
Er wird aber nicht
in die Frame-, sondern in die Navigations-Seite eingebaut. Ist das Ziel
einmal
definiert, treffen
Sie mit der Kombination von Name und Target ins Schwarze. Neben Name
können dem
Attribut Target auch noch die folgenden Werte zugeordnet werden, um Links
zu setzen. Siehe
die Seite "Attribute
und Einstellungen für Frames".
zurück nach oben
7.) Mehrfache
Aufteilung
Genügt Ihnen
die einfache Aufteilung in vertikale oder horizontale Frames nicht, so
steht einer
Kombination von
rows und cols nichts im Wege. Die Reihenfolge der Frameset-Befehle spielt
eine entscheidende
Rolle für das, was später auf dem Schirm erscheint. Im oben genannten
Beispiel lässt
sich durch Ergänzen eines weiteren Frameset-Befehls
<frameset
cols=“150,*“>
<frame
src=“Navigation.htm“>
<frameset
rows=“110,*“>
<frame
src=“Bannerseite.htm“>
<frame
src=“Hauptseite.htm“>
</frameset>
</frameset>
ein horizontaler
Frame im rechten Fenster einbauen, der dann als Banner-
Träger oder
auch für eine Gif-Animation verwendet werden könnte.
Setzt man cols
und rows zusammen in eine Frameset-Befehl, dann überschneiden
sich die Frame-Rahmen,
und es entstehen zwei weitere Frames.
| <frameset
cols=“150,*“ rows=“110,*“> |
|
| <frame
src=“frame_1.htm“> |
(Linksoben) |
| <frame
src=“frame_2.htm“> |
(Rechtsoben) |
| <frame
src=“frame_3.htm“> |
(Linksunten) |
| <frame
src=“frame_4.htm“> |
(Rechtsunten) |
| </frameset> |
|
Beginnt man bei
der Definition der Frames mit cols, so bahnt sich der Browser bei der Erstellung
von Frames seinen
Weg von links oben die erste Spalte hinunter und hüpft dann in die
nächstgelegene
rechte Spalte, um wieder von oben nach unten zu gehen. Beginnt man mit
rows,
geht der Browser
erst nach rechts. Ist eine Spalte oder Reihe mit einer Seite gefüllt
worden, bevor
eine Aufteilung
in Frames erfolgte – wie im ersten Beispiel, so lässt sich in diesem
Frame keine
weitere Teilung
mehr einrichten und der Browser macht das im nächsten Frame. Das erscheint
am Anfang kompliziert,
aber mit ein wenig ausprobieren schaffen Sie es garantiert, die gewünscht
Fensterfront
zu kombinieren. Beim Ausfüllen der Frames mit HTML-Seiten geht der
Browser ein
wenig nachvollziehbarer
vor, und zwar einfach von links nach rechts und von oben nach unten.
zurück nach oben
8.) Ränder
mit dem Auto schieben
Grau und allgegenwärtig
ist der Standard-Frame. Das ist aber nicht besonders ansprechend. Hier
sollte man die
Devise beherzigen: Wenn Frames, dann aber richtig. Und richtig heißt:
dezent und
sparsam einsetzen.
Schließlich sollen die Funktionen der Frames im Vordergrund stehen
und
nicht hässliche
Rollbalken und graue Trennlinien. Doch diese können bunt gestaltet
werden, und
das Scrollen
kann völlig ausgeschaltet werden. Eine Goldene Regel gilt es dabei
jedoch zu
beachten: Ihr
Frame-Baukasten muss auchauf den kleinsten Bildschirm passen, das heißt
eine
Auflösung
von 640 x 480 Bildpunkten ist das Maß aller Dinge und darf nicht
überschritten werden.
Welche Attribute
es für die Frame-Gestaltung gibt, lesen Sie in der Tabelle unten.
Siehe
die Seite
"Attribute
und Einstellungen für Frames".
zurück nach oben
9.) Ganz sicher
gehen
Frames sind eine
Erfindung von Netscape. Ab der Version 2.0 des Navigators konnten sie
eingesetzt werden.
Seither sind etliche Browser-Versionen erschienen, und sie beherrschen
alle die Fenstertechnik
– gleichgültig von welcher Software-Firma. Was aber, wenn noch jemand
mit Netscape
1.0 oder gar noch mit Mosaic unterwegs ist? Der Prozentsatz dieser Surfer
geht
wohl gegen Null.
Um aber ganz sicher zu gehen, gibt es den Befehl
<noframes>
Diese
Seite verwendet Frames. Ihr Browser unterstützt keine Frames.
</noframes>
Der Noframes-Befehl
wird einfach hinter den Framesbefehl angehängt. Zwischen die beiden
Tags schreiben
Sie einen Text, der anstelle der Frames erscheint, wenn der Browser diese
nicht darstellen
kann.
zurück nach oben
10.) Musterbeispiel
Zum Schluß
noch ein Beispiel, das ganz im Sinne des Erfinders ist. Hier sind die grauen
Linien völlig
eliminiert, und die Navigationsleiste wurde so gestaltet, dass die Breite
sich
nie verändert.
Selbst bei der kleinsten Bildschirmauflösung gibt es mit der Kombination
von Pixelpunkten
und dem Asterisk (Sternchen) keine Probleme. Wäre die Hauptseite
ebenfalls blau,
dann würde der Surfer im ersten Moment gar nicht merken, dass die
Seite
mit Fenstern
aufgebaut ist. Und so soll es ja sein.
<HTML>
<HEAD>
<TITLE>HTML-Workshop
"FRAMES"</TITLE>
</HEAD>
<frameset
cols=“160,*“ border="0">
<frame
src=“Navigation.htm“ noresize scrolling="auto">
<frameset
rows=“110,*“ border="0">
<frame
src=“Banner.htm“ name="Werbung" noresize scrolling="no">
<frame
src=“Haupseite.htm“ name="RechteSeite">
</frameset></frameset>
</HTML>
zurück nach oben
©
2001 Jochen Wolf |