Frames in HTML-Dokumenten
Hier ist ein einfaches Frame-Dokument:
das könnte ein Frame-Layout etwas wie folgt erstellen:
Wenn die User-Agent keine Frames anzeigen kann oder so konfiguriert ist, nicht zu, wird es den Inhalt des Noframes machen.
16.2 Aufbau von Rahmen
(Ein so genanntes Frameset-Dokument) ein anderen Make-up als ein HTML-Dokument ohne Frames ein HTML-Dokument, das Frame-Layout beschreibt. Ein Standard-Dokument hat einen HEAD-Abschnitt und einen Körper. Ein Frameset-Dokument hat einen Kopf. und ein FRAMESET anstelle des Körpers.
Der FRAMESET Abschnitt eines Dokuments spezifiziert das Layout von Ansichten in dem Hauptfenster Benutzeragenten. Darüber hinaus kann der FRAMESET Abschnitt ein Element enthalten NOFRAMES alternativen Inhalt für Benutzerprogramme zu schaffen, die nicht angezeigt werden keine Frames Frames oder konfiguriert sind.
Elemente, die vielleicht normalerweise in dem BODY-Elemente platziert werden dürfen nicht erscheinen vor dem ersten FRAMESET-Elemente oder das Frameset wird ignoriert.
16.2.1 Frameset Element
rows = multi-Länge-Liste [CN] Dieses Attribut gibt das Layout des Horizontalrahmen. Es ist eine durch Kommata getrennte Liste von Pixeln, Prozentsatz und relativen Längen. Der Standardwert ist 100%, was bedeutet, eine Zeile. cols = multi-length-Liste [CN] Dieses Attribut gibt das Layout des vertikalen Rahmen. Es ist eine durch Kommata getrennte Liste von Pixeln, Prozentsatz und relativen Längen. Der Standardwert ist 100%, was bedeutet, eine Spalte.
Anderer Stelle definierte Attribute
Das FRAMESET Element gibt das Layout des Hauptbenutzerfensters in Bezug auf der rechteckigen Subräume.
Reihen und Spalten
Wenn die Zeilen Attribut nicht gesetzt ist, erstreckt sich jede Spalte über die gesamte Länge der Seite. Wenn die cols Attribut nicht gesetzt ist, erstreckt sich jede Reihe über die gesamte Breite der Seite. Wenn weder Attribut gesetzt, nimmt der Rahmen auf genau die Größe der Seite.
Frames werden von links nach rechts für Spalten und von oben nach unten für die Zeilen erstellt. Wenn beiden Attribute angegeben werden, sind Ansichten von links nach rechts in der oberen Reihe von links nach rechts in der zweiten Reihe angelegt, usw.
Das erste Beispiel teilt den Bildschirm vertikal in zwei (d.h. erzeugt eine obere Hälfte und eine untere Hälfte).
Das nächste Beispiel erzeugt drei Spalten: die zweiten eine feste Breite von 250 Pixeln hat (zum Beispiel nützlich, um ein Bild mit einer bekannten Größe zu halten). Der erste empfängt 25% des verbleibenden Raum und dem dritten 75% des verbleibenden Raum.
Das nächste Beispiel wird ein 2x3 Gitter von Unterräumen.
Für das nächste Beispiel an, dass das Browserfenster zur Zeit 1000 Pixel hoch ist. Die erste Ansicht ist, 30% der Gesamthöhe zugeteilt (300 Pixel). Die zweite Ansicht ist, spezifiziert genau 400 Bildpunkte hoch. Diese Blätter 300 Pixel zwischen den anderen zwei Rahmen aufgeteilt werden. Die Höhe des vierten Frame wird als „2 *“ angegeben ist, so ist es doppelt so hoch ist wie der dritte Rahmen, deren Höhe nur „*“ (äquivalent zu 1 *). Daher wird der dritte Rahmen 100 Pixel hoch sein, und die vierte 200 Pixel hoch sein wird.
Absolute Längen, die zu 100% des realen verfügbaren Raum nicht fassen sollte durch den User-Agent eingestellt werden. Wenn underspecified sollte verbleibende Raum proportional zu jeder Ansicht zugeteilt. Wenn überdimensioniert, sollte jede Ansicht entsprechend seinen bestimmten Anteil des Gesamtraumes reduziert werden.
Im folgenden Beispiel teilt sich der äußere FRAMESET den verfügbaren Raum in drei gleiche Spalten. Der innere FRAMESET teilt dann den zweiten Bereich in zwei Reihen von ungleicher Höhe.
Das folgende Beispiel zeigt, wie ein Skript zu einem OBJECT-Elemente für eine ganze Frameset definiert beziehen könnte:
16.2.2 Das Rahmenelement
Anderer Stelle definierte Attribute
Das Rahmenelement definiert den Inhalt und das Aussehen eines einzelnen Rahmens.
Das src-Attribut gibt das Ausgangsdokument der Rahmen enthält.
Das folgende Beispiel HTML-Dokument:
sollte ein Frame-Layout etwas wie folgt erstellen:
und bewirken, dass der Benutzer-Agent jede Datei in eine separate Ansicht laden.
Der Inhalt eines Rahmens darf nicht als den Rahmen des Wortes im selben Dokument sein.
ILLEGAL Beispiel:
Die folgende Frameset-Definition ist nicht legal HTML, da der Inhalt des zweiten Rahmens in dem gleichen Dokument wie der Frameset ist.
Visuelle Darstellung eines Rahmens
Hinweis. Für Informationen über die aktuelle Praxis in das Ziel eines Rahmens zu bestimmen, konsultieren Sie bitte die Hinweise auf Rahmen im Anhang.
target = frame-Ziel [CI] Dieses Attribut gibt den Namen eines Rahmens, wo ein Dokument geöffnet werden soll.
Bitte beachten Sie den Abschnitt über das Ziel Frame-Namen für Informationen über erkennen Frame-Namen.
Dieses Beispiel zeigt, wie die Ziele dynamische Modifikation eines Rahmeninhalts ermöglichen. Zuerst definieren wir ein Frameset im Dokument frameset.html. gezeigt hier:
Dann in init_dynamic.html. wir verlinken auf die „dynamische“ genannt Rahmen.
entweder Link aktiviert öffnet ein neues Dokument in dem Rahmen namens „dynamisch“, während der andere Rahmen, „fixiert“, behält seinen ursprünglichen Inhalt.
Hinweis. Eine Frameset-Definition ändert sich nie, aber der Inhalt eines seiner Frames können. Nachdem die anfänglichen Inhalte eines Rahmens zu ändern, die Frameset-Definition entspricht nicht mehr den aktuellen Stand seiner Frames.
Wenn viele Links im selben Dokument das gleiche Ziel bezeichnen, ist es möglich, das Ziel einmal und verzichten auf das Zielattribut jedes Elements zu spezifizieren. Dies wird erreicht, indem das Zielattribut des Basiselements durchgeführt.
Wir kehren zu dem vorherigen Beispiel, diesmal die Zielinformationen durch Faktorisieren es in dem Basiselement definiert, und es von den Elementen A zu entfernen.
Benutzerprogramme sollten den Zielrahmen, in dem eine verknüpfte Ressource bestimmen laden nach folgenden Präzedenzen (höchste Priorität zum niedrigsten):
- Wenn ein Element, dessen Zielattribut auf einen bekannten Rahmen festgelegt hat, wenn das Element aktiviert wird (d.h. eine Verbindung gefolgt wird, oder eine Form verarbeitet wird), die durch das Element bezeichneten Ressource sollte in den Zielrahmen geladen werden.
- Wenn ein Element nicht das Zielattribut gesetzt hat, sondern das Grundelement der Fall ist, das Zielattribut des BASE-Element bestimmt den Rahmen.
- Wenn weder das Element noch das Bodenelement zu einem Ziel bezieht, die durch das Element bezeichnete Ressource sollte in den Rahmen, das Element enthält, geladen werden.
- Wenn irgendein Zielattribut zu einem unbekannten Frame bezeichnet F. der User-Agent sollte ein neues Fenster und den Rahmen erstellen, den Namen F auf den Rahmen zuweisen, und lädt die durch das Element bezeichnet Ressource in dem neuen Rahmen.
Autoren sollten alternativen Inhalt für die Benutzerprogramme liefern, die Frames nicht unterstützen oder konfiguriert sind, keine Frames anzuzeigen.
16.4.1 Die Noframes
Anderer Stelle definierte Attribute
Das folgende Frameset-Dokument beschreibt zwei Frames. Der linke Rahmen enthält ein Inhaltsverzeichnis und der rechte Rahmen enthält zunächst ein Bild eines Straußes:
Man beachte, dass das Bild wird in dem Rahmen unabhängig von einem HTML-Elemente enthalten war, so dass der Autor keine anderen Mittel zum Spezifizieren alternativen Textes hat als über das longdesc Attribut. Wenn der Inhalt des rechten Rahmenwechsel (zum Beispiel der Benutzer eine Klapperschlange aus dem Inhaltsverzeichnis wählt), werden die Nutzer haben keine Text Zugriff auf die neuen Inhalte des Rahmens.
So sollen Autoren nicht ein Bild direkt in einem Rahmen setzen. Stattdessen sollte das Bild in einem separaten HTML-Dokument angegeben werden, und darin mit dem entsprechenden alternativen Text kommentierte:
16.5 Inline-Rahmen: Das Element IFRAME
Anderer Stelle definierte Attribute
Die Informationen eingefügt werden inline wird durch das Attribut src dieses Elements bezeichnet. Der Inhalt des IFRAME Elements, andererseits sollte nur durch Benutzeragenten angezeigt werden, die Frames nicht unterstützen, oder so konfiguriert sind, keine Frames anzuzeigen.
Für Benutzer, die Frames, die folgende Beispiel unterstützt ein Inline-Frame durch eine Grenze in der Mitte des Textes umgeben platzieren.