HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum |
 

 
 

Anzeige 
 
               Forum
 
 
HTMLWorld » HTML » Frames

HTML: Frames

von Jan Winkler

Frames sind bestimmte Rahmen, die das (Browser-)Fenster in verschiedene Bereiche (Unterfenster) einteilen. Mit Frames lassen sich z.B. die bekannten Navigationsleisten erstellen aber auch verschiedene andere Dinge realisieren, die ohne Frames vielleicht umständlicher oder gar unmöglich waren/sind.

Anzeige

Frameset definieren  nach oben

Wenn Sie ein Frameset definieren, verändert sich zuerst einmal das Grundgerüst. Hier müssen Sie anstatt des body die Frames definieren. Dies geschieht, indem Sie, mit Hilfe des frameset-Elements zuerst ein Frameset definieren, in welches dann die frame-Elemente notiert werden. Beispiel:

<html>
<head>
...
</head>

<frameset cols="50%,50%">
<frame>
<frame>
<noframes>
...
</noframes>
</frameset>
</html> 

Frames definieren  nach oben

Die Art der Frames definieren Sie im frameset-Element. Hier können Sie einmal die Ausrichtung der Frames zueinander sowie die Breite bzw. Höhe der Frames bestimmen. Dies geschieht jeweils mit einem der beiden Attribute rows und cols. Mit dem rows-Attribut wird die Höhe angegeben. Gleichzeitig bedeutet dies, dass es sich bei dem Frameset um untereinander liegende Frames handelt. Beispiel:

<frameset rows="50%,*">
<frame name="linkerFrame" src="oben.htm">
<frame name="rechterFrame" src="unten.htm">
</frameset> 

Frames mit rows definieren
Darstellung: Frames mit rows definieren

Das cols-Attribut hingegen beschreibt, dass es sich um zwei oder mehrere Frames handelt, die nebeneinander sind. Gleichzeitig bestimmt es hier die Breite. Beispiel:

<frameset cols="50%,*">
<frame name="obererFrame" src="oben.htm">
<frame name="untererFrame" src="unten.htm">
</frameset> 

Frames mit cols definieren
Darstellung: Frames mit cols definieren

Bei beiden werden einfach für jeden Frame eine Höhe bzw. Breite als Wert für das jeweilige cols- bzw. rows-Attribut angegeben. So ist es auch möglich mehr als 2 Frames zu definieren. Beispiel:

<frameset cols="4*,55,*,33%,100, ... ">
<frame>
<frame>
<frame>
<frame>
...
</frameset>

Bitte beachten Sie, dass Sie bei der Definition von Frames auch die gleiche Anzahl von frame-Elementen notieren, wie Sie Werte in das cols- bzw. rows-Attribut schreiben.

Bitte beachten Sie, dass bei der Definition von Framesets auch Wildcards (sozusagen Joker) mit Hilfe des Stern-Zeichens (*) anstatt festen Pixel oder Prozentwerten verwendet werden können.

Framesets in Framesets  nach oben

Anstelle eines Frames ist auch die definition eines Framesets möglich. Somit wird auch möglich, dass horizontale Frames neben vertikalen und andersrum. Definieren Sie einfach Anstelle eines Frames ein erneutes Frameset. Beispiel:

<frameset rows="50%,50%">
  <frameset cols="50%,50%">
    <frame>
    <frame>
  </frameset>
 <frame>
</frameset> 

Framesets in Framesets
Darstellung: Framesets in Framesets

Ebenso sind viele andere Varianten möglich.

Angezeigte Dateien  nach oben

Damit in den definierten Frames auch Dokumente/Dateien angezeigt werden, müssen Sie diese bestimmen. Dies tut man mit dem src-Attribut des jeweiligen Frames. Beispiel:

<frameset rows="*,45%">
<frame src="datei.htm">
<frame src="http://www.html-world.de/pfad/dateiname.htm">
</frameset> 

Framename  nach oben

Jedem Frame kann ein Name zugewiesen werden. Dies ist besonders dann wichtig, wenn zwischen Frames navigiert werden soll. Hierbei spielen die Namen der Farmes eine große Rolle, da Sie als target-Attribut in den Links angegeben werden müssen (siehe Kapitel Hyperlinks). Den Namen eines Frames notieren Sie als Wert im name-Attribut. Beispiel:

<frameset cols="50%,*">
<frame name="obererFrame" src="datei1.htm">
<frame name="untererFrame" src="datei2.htm">
</frameset> 

Beachten Sie dabei, dass Framenamen nicht doppelt vergeben werden dürfen.

Frame-Rahmen  nach oben

Mit dem frameborder-Attribut des frame-Elements können Sie bestimmen, ob der jeweilige Frame einen Rahmen haben soll oder nicht. Als Werte können Sie hier 0 (Null) für keinen Rahmen oder 1 (Eins) für Rahmen eingeben. Beispiel:

<frameset rows="30%,30%,40%">
<frame frameborder="0" src="t1.html">
<frame frameborder="1" src="t2.html">
<frame frameborder="0" src="t3.html">
</frameset> 

Frameset-Rahmen  nach oben

Mit dem frameborder-Attribut des frameset-Elements können Sie bestimmen, ob es allgemein im gesammten Frameset Rahmen geben soll oder nicht. Dies ist besonders dann hilfreich, wenn es sich dabei um mehrer Frames in einem Frameset handelt, da diese dann nicht alle einzeln mit einem Attribut ausgestattet werden müssen.
Im Gegensatz zum frameborder-Attribut des frame-Elements werden bei dem des frameset-Elements nicht 0 und 1 sondern yes und no als Werte angegeben, wobei yes für einen Rahmen und no für keinen Rahmen (also gegen einen Rahmen) steht. Beispiel:

<frameset frameborder="yes" cols="50%,50%">
<frame src="oben.html">
<frame src="unten.html">
</frameset> 

Rahmendicke  nach oben

Mit dem border-Attribut können Sie die Dicke der Rahmen des Framesets bestimmen. Als Werte notieren Sie Pixelangaben. Beispiel:

<frameset border="16" frameborder="yes" cols="50%,50%">
<frame src="oben.html">
<frame src="unten.html">
</frameset> 

Rahmenfarbe  nach oben

Die Farbe des Rahmens bestimmen Sie mit dem bordercolor-Attribut des Framesets. Als Wert können Sie hier entweder einen Farbcode oder Farbnamen angeben. Beispiel:

<frameset bordercolor="#FF0000" frameborder="yes">
...
</frameset> 

Fensterabstand  nach oben

Den Abstand der einzelnen Fenster zueinander bestimmen Sie mit dem framespacing-Attribut. Als Wert können Sie hier Pixelangaben notieren. Beispiel:

<frameset framespacing="4">
...
</frameset> 

Innerer Abstand  nach oben

Den inneren Abstand der Dokumente können Sie mit den Attributen marginwidth (für den horizontalen Abstand) und marginheight (für den vertikalen Abstand) bestimmen. Als Werte gelten hier Pixelangaben. Beispiel:

<frameset>
<frame marginheight="1" marginwidth="45">
<frame marginheight="55" marginwidth="14">
</frameset> 

Scrollbars  nach oben

Die Darstellung von Scrollbars/Scrollleisten lassen sich verhindern oder erzwingen. Hierzu verwendet man das scrolling-Attribut des frame-Elements. Als Werte bestehen drei Möglichkeiten:

  • yes - erzwingt die Scrollbars.
  • no - erzwingt, dass keine Scrollbars dargestellt werden.
  • auto - (Voreinstellung) je nach Größe/Breite werden Scrollbars eingebledet oder nicht.

Beispiel:

<frameset>
<frame scrolling="yes">
<frame scrolling="no">
<frame scrolling="auto">
</frameset> 

Unverschiebbar  nach oben

Mit dem noresize-Attribut wird beschrieben, dass die definierten Frames unveränderbare Größen haben. So ist es Besuchern nicht möglich, die Frames größer oder kleiner zu ziehen. Beispiel:

<frameset>
<frame noresize>
<frame noresize>
</frameset> 

Bitte beachten Sie dabei, dass dieses Attribut keine Werte erhält.

No-Frames-Bereich  nach oben

Zusätzlich zu einem Frame-Bereich sollten Sie immer noch einen No-Frame-Bereich definieren, da nicht alle (, besonders ältere,) Browser keine Frames darstellen können. Dazu sollten Sie nach Möglichkeit eine zweite Version der Homepage anlegen, die aber ebenso auch ohne Frames gut benutzbar ist. Allgemein sollten Frames immer nur als zusätzliche Unterstützung dienen. Die einfachste Möglichkeit zwei Versionen zu erstellen ist es, einfach auf eine Variante ohne Frames die Frame-Version drauf zu setzten. D.h. Das Frameset so zu definieren, dass die Seiten der No-Frame-Version mit genutzt werden. Die folgende Darstellung soll dies nochmals verdeutlichen:

Frames- und No-Frames Bereiche einer Website
Darstellung: Frames- und No-Frames Bereiche einer Website

Der No-Frames-Bereich wird in das Frameset unter Verwendung des noframe-Elements definiert. Er kann alle Elemente des body enthalten. Beispiel:

<frameset>
<frame>
<frame>

<noframes>
<p>Hier steht der Text der alternativen no-Frames Seite.</p>
<img ... >
...
<noframes>
</frameset> 



« zurück weiter »
Bewerten

 

HTML

.Autor:Jan Winkler.
. Bewertung:
HTML: Frames HTMLWorld
(5/5 bei 1 Votes)
.
. Community: 1393 Beiträge im HTML Forum .

Navigation


 
     
 

Anzeige