SELFHTML: HTML/XHTML / Frames / Eingebettete Frames
Author: Redaktion SELFHTML, selfhtml81@selfhtml.org
Description: Wie Sie eingebettete Frames definieren können, um innerhalb einer HTML-Datei eine andere HTML-Datei oder andere Datenquellen anzuzeigen.
Keywords: SELFHTML, HTML, XHTML, Frames, eingebettete Frames, Inline-Frames, iframe, width, height, name, src, hspace, vspace, frameborder, align
Date: 2005-10-31T12:25:34+01:00

| # Eingebettete Frames
| Eingebettete Frames definieren Eigenschaften eingebetteter Frames Verweise zu eingebetteten 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.

### Beispiel:

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&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
      aufrufen: <a href="../../../index.htm">SELFHTML</a></p>
    </iframe>

    </body>
    </html>

### Erläuterung:

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.

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.

### Beachten Sie:

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).

## Eigenschaften eingebetteter Frames

Sie können verschiedene weitere Eigenschaften definieren, um ein eingebettetes Frame-Fenster zur Umgebung auszurichten.

### Beispiel:

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&ouml;he. Es demonstriert, was einem in einem
    Freistaat so alles passieren kann ...</p>

    </body>
    </html>

### Erläuterung:

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.

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.

### Beachten Sie:

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.

## Verweise zu eingebetteten Frames

In einer HTML-Datei, in der Sie einen eingebetteten Frame definieren, können Sie mit Verweisen auch den Inhalt des eingebetteten Frames ändern.

### Beispiel:

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>

### Erläuterung:

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

© 2007 Impressum