HTML & CSS Javascript Perl PHP Index | Download | Suche 
HTML I Schnellkurs | Einführung | Grundgerüst | Text | Bilder | Links | Farben | Tabellen
HTML IITrennlinien , Listen | Hintergrundbilder | Frames | Formulare | Meta - Tags
CSS Einführung | Style Sheets definieren | einzelne Angaben
PLUS Hilfreiches / Tabellen | Software / Tools | Upload der Homepage | Hyperlinks
  FAQ / Goodies | Java | CGI / Perl | SSI
HTML II : Frames   ||   Einführung / DefinitionZusätzliche Attributeiframes

Einführung / Definition

Im Prinzip sind Frames (='Rahmen') einfach mehrere Fenster (bzw. HTML - Dokumente) innerhalb eines Hauptfensters ( des gesamten Browser - Fensters ) . Oder eben Rahmen .

Dabei sind die in den einzelnen Frames dargestellten Dokumente 'ganz normale' HTML-Dokumente, oder natürlich auch andere Dateitypen, welche sich im Browserfenster darstellen lassen (z.B. .txt,.gif,.jpg). Die Anweisungen bezüglich Anordnung und Darstellung dieser Frames werden in einem sogenannten frameset definiert . Dieses ist eine normale HTML-Datei , mit dem Unterschied , dass das <body> - Tag durch das <frameset> - Tag ersetzt wird . Dazwischen werden die Eigenschaften der einzelnen Frames jeweils innerhalb des <frame> - Tags definiert .

Grundsätzliche Definition eines Framesets
<html>
<head>
<title>
Ein Titel ... </title>
</head>
<frameset>
  <frame>
  <frame>
   ( ... weitere Frames )
</frameset>
</html>



Bei den herkömmlichen Frames wird grundsätzlich zwischen horizontalen ( Rows ) und vertikalen ( Columns ) Unterteilungen des Fensters unterschieden :

BEISPIELE
frames02.html frames03.html
QUELLCODE ( frameset - Teil )
<frameset cols="120,*">
<frame src="bsp01.html">
<frame src="bsp01.html">
</frameset>
<frameset rows="15%,*,53">
<frame src="bsp01.html">
<frame src="bsp01.html">
<frame src="bsp01.html">
</frameset>

Um ein Frameset zumindest optisch korrekt darzustellen , muss zuerst einmal innerhalb des <frameset> - Tags die Art der Aufteilung festgelegt werden ( rows oder cols ) . Die Grösse der einzelnen Frames muss ebenfalls bekannt sein . Erlaubt sind : Eine Pixelangabe ( ganze Zahl , 'px' ist nicht nötig ) , eine relative Angabe in Prozent , oder eine Wildcard ( Platzhalter ) , welche mit einem * bezeichnet wird .
Die Wildcard steht für eine beliebige Grösse . Praktisch gesehen übernimmt sie einfach , was an Weite bzw. Höhe übrigbleibt . Definiert man mindestens eine Angabe in Pixelwerten , kommt man um Wildcards nicht herum , da ja nie bekannt ist , mit welcher Auflösung - und ob überhaupt mit maximiertem Fenster - am anderen Ende gesurft wird .

Ausserdem muss klar sein , welche Dateien in den einzelnen Frames dargestellt werden sollen . Dies geschieht mit dem src - Attribut innerhalb des <frame> - Tags ( analog <img src> ) .

Damit das Frameset auch noch hinsichtlich der Links richtig funktioniert , müssen den einzelnen Frames Bezeichnungen ( name ) vergeben werden , welche anschliessend innerhalb eines HTML - Dokumentes mit dem target - Attribut angesprochen werden können . Auf diese Weise wird z.B. definiert , dass sich die Links im linken Frame im rechten öffnen .

BEISPIELE ( links mit target , rechts zusätzlich base target )
frames02b.html frames03b.html
QUELLCODE ( frameset - Teil )
<frameset cols="180,*">
<frame src="bsp01.html" name="left">
<frame src="bsp01.html" name="right">
</frameset>
<frameset rows="35%,*,53">
<frame src="bsp03.html" name="1">
<frame src="bsp01.html" name="2">
<frame src="bsp01.html" name="3">
</frameset>

Die Namen sind frei wählbar .

Der Gebrauch von target & base target wird innerhalb der obigen Beispiele ( lframes02b.html , frames03b.html ) noch z.T. genauer erklärt - der Quellcode ist auch so einfach wie möglich gehalten , damit ihr euch gut daran orientieren könnt.

Und dann gibt es natürlich noch die entsprechenden Zusammenfassungen im Kapitel Links :
das 'target'-Attribut
base target


Framesets können ineinander verschachtelt werden . Dadurch ist dann zum Beispiel folgende Darstellung möglich :

BEISPIEL
frames02c.html  
QUELLCODE ( frameset - Teil )
<frameset cols="180,*">
<frame src="bsp02.html" name="left">
<frameset rows="20%,*">
<frame src="bsp01.html"; name="title">
<frame src="bsp01.html" name="right">
</frameset>
</frameset>
 

Erklärung ? Relativ einfach . Der Frame , welcher durch ein weiteres Frameset weiter zerlegt wird , wird durch eben dieses Frameset ersetzt . Vergleicht einfach Beispiel 'frames02b' ( oben links ) mit 'frames02c' ( diesem hier ) .

Zusätzliche Attribute

<frameset> und <frame> können noch durch weitere Attribute exakter definiert werden :

<frameset> :

<frame> :

iframes

iframes ( = internal Frames ) sind ein echter Segen . Oder besser gesagt wären sie es , da Netscape bis jetzt noch keine iframes darstellen kann . Die Verwendung für Basis - Elemente wie Navigation macht daher wenig Sinn .

Quellcode :

<iframe src="bsp01.html" width="280" height="100">
Dein Browser kann leider keine iFrames darstellen .
</iframe>




 |  Weiter zum nächsten Kapitel : Formulare  | 
:::  © 2000/01 Martin Fux  :::  URL dieses Dokuments: http://www.flexdax.org/htmlkurs/frames.html