SELFHTML/Navigationshilfen HTML/XHTML Frames | |
Eingebettete Frames |
|
Eingebettete Frames definieren |
|
Eingebettete Frames werden vom MS Internet Explorer ab Version 3.x interpretiert, von Netscape bis einschließlich Version 4.x dagegen nicht. Seit HTML 4.0 gehören sie zum HTML-Standard. Eingebettete Frames sind ein eigenständiges Gestaltungsmittel zur Informationsaufbereitung, das anders funktioniert als "normale" Frames. Eingebettete Frames erzeugen keine Aufteilung des Bildschirms, sondern sind ähnlich wie Grafiken Bereiche innerhalb einer HTML-Datei, in denen fremde Quellen, vor allem andere HTML-Dateien angezeigt werden können.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Eingebettete Frames definieren</title> </head> <body> <h1>Fenstergucker</h1> <p>Gucken Sie mal SELFHTML im Fenster an:</p> <iframe src="../../../index.htm" width="90%" height="400" name="SELFHTML_in_a_box"> <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen: Sie können die eingebettete Seite über den folgenden Verweis aufrufen: <a href="../../../index.htm">SELFHTML</a></p> </iframe> </body> </html>
Für HTML-Dateien mit eingebetteten Frames gilt das gewöhnliche Grundgerüst einer HTML-Datei. Eingebettete Frames können dann im Textkörper der HTML-Datei an einer gewünschten Stelle vorkommen. Mit <iframe...>
leiten Sie einen eingebetteten Frame ein (iframe = inline frame = Rahmen im Textfluss). Mit dem Attribut src
bestimmen Sie, was in dem eingebetteten Frame angezeigt werden soll. Es kann sich um eine andere HTML-Datei oder eine beliebige andere lokale oder entfernte Datenquelle handeln. Bei der Wertzuweisung gelten die Regeln zum Referenzieren in HTML.
Ferner sollten Sie für den eingebetteten Frame mit name
einen Namen vergeben. Diese Namen brauchen Sie, um Verweise zu dem eingebetteten Frame zu definieren. Der Name sollte nicht zu lang sein und darf keine Leerzeichen, Sonderzeichen oder deutsche Umlaute enthalten. Das erste Zeichen muss ein Buchstabe sein. Danach sind auch Ziffern erlaubt. Benutzen Sie als Sonderzeichen im Namen höchstens den Unterstrich (_
), den Bindestrich (-
), den Doppelpunkt (:
) oder den Punkt (.
). Im Hinblick auf JavaScript darf der Name sogar nur Buchstaben, Ziffern und den Unterstrich (_
) enthalten. Groß- und Kleinschreibung werden bei Sprachen wie JavaScript ebenfalls unterschieden.
Dringend zu empfehlen ist das Bestimmen der gewünschten Breite und Höhe des eingebetteten Frame-Fensters. Die Breite geben Sie im einleitenden <iframe>
-Tag mit dem Attribut width
an, die Höhe mit height
. Erlaubt sind Pixelangaben oder Prozentwerte, die sich auf die Größe des Elternelements (bei fehlender oder prozentualer Angabe unter Berücksichtigung auch dessen Elternelements) beziehen.
Zwischen dem einleitenden <iframe>
und dem erforderlichen, abschließenden </iframe>
können Sie Text und andere Elemente notieren, die von Web-Browsern angezeigt werden, die den eingebetteten Frame nicht interpretieren.
Wenn Sie das iframe
-Element in einer HTML-Datei notieren, müssen Sie in dieser Datei die HTML-Variante Transitional wählen.
Andere Möglichkeiten, um Inhalte aus anderen Dateien innerhalb einer HTML-Datei anzuzeigen, sind Datendateien als Objekt (ebenfalls HTML-Standard), Layer mit Inhalt aus anderer Datei (Netscape-spezifisch) sowie Server Side Includes (HTML-Standard-konform, jedoch nur in HTTP-Umgebung ausführbar).
Sie können verschiedene weitere Eigenschaften definieren, um ein eingebettetes Frame-Fenster zur Umgebung auszurichten.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Eigenschaften eingebetteter Frames</title> </head> <body> <h1>Bild zum Scrollen</h1> <iframe src="bild.jpg" name="Bildframe" width="300" height="200" align="left" scrolling="yes" marginheight="0" marginwidth="0" frameborder="0"> <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen: <img src="bild.jpg" width="464" height="580" border="0" alt="Bild"> </p> </iframe> <p>Dieses Bild wurde auf dem Karwendelstein bei Mittenwald aufgenommen, in ca. 2400 Meter Höhe. Es demonstriert, was einem in einem Freistaat so alles passieren kann ...</p> </body> </html>
Das Beispiel zeigt, wie Sie ein eingebettetes Frame-Fenster dazu verwenden können, um eine größere Grafik anzuzeigen und diese mit eigenen Scrollbars auszustatten.
Mit align="left"
richten Sie den eingebetteten Frame links aus. Nachfolgende Inhalte fließen dann rechts um den Frame. Mit align="right"
richten Sie den eingebetteten Frame rechts aus und nachfolgende Inhalte fließen links um den Frame. Dieses Attribut ist jedoch als deprecated eingestuft und durch die CSS-Eigenschaft text-align
ersetzbar (z.B. <iframe style="text-align:left">
).
Mit scrolling="yes"
können Sie Scrollbars (Bildlaufleisten) in dem eingebetteten Frame erzwingen, mit scrolling="no"
unterdrücken. scrolling="auto"
können Sie ebenfalls angeben, doch dies entspricht der Voreinstellung.
Mit frameborder="0"
können Sie den sichtbaren Außenrahmen des eingebetteten Frames unterdrücken. frameborder="1"
ist die Voreinstellung.
Zwei weitere Attribute, nämlich hspace
und vspace
, werden vom Internet Explorer ebenfalls interpretiert, sind aber im Zusammenhang mit eingebetteten Frames nicht im HTML-Standard verzeichnet - was etwas inkonsistent ist, da das align
-Attribut bei solchen Frame-Fenstern genauso wirkt wie etwa bei Grafiken oder Objekten. Mit hspace
[Pixel] bestimmen Sie den Abstand zum Text neben dem eingebetteten Frame, mit vspace
[Pixel] den Abstand zum Text über bzw. unter dem Frame (hspace = horizontal space = horizontaler Abstand, vspace = vertical space = vertikaler Abstand). Beide Angaben erzeugen jedoch ungültiges HTML.
Genau wie bei normalen Frames besteht auch bei eingebetteten Frames die Möglichkeit, mit dem Attribut longdesc
eine Langbeschreibung zu referenzieren.
Konqueror 3.1 unterstützt die Ausrichtung (align
) von iframe
nicht.
In einer HTML-Datei, in der Sie einen eingebetteten Frame definieren, können Sie mit Verweisen auch den Inhalt des eingebetteten Frames ändern.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Verweise zu eingebetteten Frames</title> </head> <body> <h1>Fernsteuerung</h1> <iframe src="startseite.htm" name="Fensterlein" width="500" height="400" marginheight="10" marginwidth="10" align="right"> <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p> </iframe> <p> <a href="willkommen.htm" target="Fensterlein"><b>andere Seite</b></a><br> <a href="startseite.htm" target="Fensterlein"><b>erste Seite</b></a> </p> </body> </html>
Voraussetzung für Verweise zu einem eingebetteten Frame ist, dass der eingebettete Frame mit name
einen Namen erhalten hat. Im obigen Beispiel ist das der Name Fensterlein
.
Für das Setzen eines Verweises zu dem eingebetteten Frame gelten die üblichen Regeln zum Referenzieren in HTML. Damit das Verweisziel in dem Frame angezeigt wird, notieren Sie im einleitenden Verweis-Tag zusätzlich die Angabe target
(target = Ziel). Dahinter folgt der Name des Frame-Fensters, in dem das Verweisziel angezeigt werden soll.
Frames als Mittel für Seiten-Layouts | |
Verweise bei Frames | |
SELFHTML/Navigationshilfen HTML/XHTML Frames |
© 2005 Impressum