SELFHTML: HTML/XHTML / Frames / Eigenschaften von Frames
Author: Redaktion SELFHTML, selfhtml81@selfhtml.org
Description: Wie Sie Eigenschaften für Frames definieren, beispielsweise Frames ohne sichtbare Rahmen.
Keywords: SELFHTML, HTML, XHTML, Frames, Framesets, Bildschirmfenster, Fenterrahmen, frameset, frame, scrolling, marginwidth, marginheight, noresize, border, frameborder, framespacing, bordercolor
Date: 2005-10-31T12:25:34+01:00

| # Eigenschaften von Frames
| Scrollbars (Bildlaufleisten) erzwingen/verhindern Mindestabstände zwischen Fensterrand und Fensterinhalt Unveränderbare Fenstergröße Rahmendicke bzw. unsichtbare Fensterrahmen Farbige Fensterrahmen Weitere Informationen

## Scrollbars (Bildlaufleisten) erzwingen/verhindern

Der Web-Browser verwaltet die Scrollbars (Bildlaufleisten) eines jeden Frame-Fensters normalerweise automatisch. Wenn kein Blättern erforderlich ist, um den gesamten Fensterinhalt anzuzeigen, erhält das Fenster keine Scrollbars. Wenn der Inhalt größer ist, werden die Frame-Fenster automatisch mit Scrollbars ausgestattet. Sie können jedoch erzwingen, dass ein Frame-Fenster in jedem Fall Scrollbars bzw. keine Scrollbars hat.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>Scrollbars (Bildlaufleisten) erzwingen/verhindern</title>
    </head>
    <frameset cols="250,*">
      <frame src="verweise3.htm" name="Navigation" scrolling="no">
      <frame src="startseite.htm" name="Daten" scrolling="yes">
      <noframes>
        <body>
        <p><a href="verweise3.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Erläuterung:

Durch die Angabe `scrolling="yes"` in einem `<frame>`-Tag erzwingen Sie, dass das Anzeigefenster dieses Frame-Fensters in jedem Fall Scrollbars besitzt. Durch `scrolling="no"` verhindern Sie, dass das Frame-Fenster Scrollbars erhält, selbst wenn der Inhalt länger ist. Ebenfalls möglich ist die Angabe `scrolling="auto"`, die jedoch mit der Voreinstellung (Scrollbars bei Bedarf anzeigen) identisch ist und daher weggelassen werden kann.

### Beachten Sie:

Wenn Sie das Scrollen des Fensterinhalts verhindern, können Inhalte, die größer sind als das Fenster, nicht vollständig angezeigt werden. Verwenden Sie `scrolling="no"` daher nur, wenn Sie sicher sind, dass der Fensterinhalt vollständig in das Frame-Fenster passt. Die Angabe ist zum Beispiel sinnvoll, wenn in einem Frame-Fenster dauerhaft ein Logo angezeigt werden soll und sonst nichts. Bei größeren Inhalten, vor allem in Frame-Fenstern mit relativer Größe, sollten Sie mit dem Ausschalten der Scrollbars vorsichtig sein - bedenken Sie, dass nicht alle Anwender die gleiche Bildschirmauflösung wie Sie haben.

## Mindestabstände zwischen Fensterrand und Fensterinhalt

Sie haben die Möglichkeit, den Abstand zwischen Fensterrand und dem angezeigten Inhalt eines Frame-Fensters genau zu justieren. Auf diese Weise können Sie zum Beispiel breitere Seitenränder in einem Frame-Fenster erzeugen. Wenn Sie einen festen Inhalt, etwa ein Logo, in einem Frame-Fenster anzeigen wollen, können Sie das Logo durch Justage der Abstände exakt in einem Frame-Fenster platzieren.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>Mindestabstände zwischen Fensterrand und Fensterinhalt</title>
    </head>
    <frameset cols="250,*">
      <frame src="verweise4.htm" name="Navigation" scrolling="no" marginwidth="3" marginheight="30">
      <frame src="startseite.htm" name="Daten" marginwidth="60" marginheight="30">
      <noframes>
        <body>
        <p><a href="verweise4.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Erläuterung:

Durch das Attribut `marginwidth` [Pixel] in einem `<frame>`-Tag bestimmen Sie den Abstand zwischen rechtem bzw. linkem Fensterrand und dem Fensterinhalt in diesem Frame-Fenster (margin = Rand, width = Breite). Durch das Attribut `marginheight` [Pixel] bestimmen Sie den Abstand zwischen oberem bzw. unterem Fensterrand und dem Fensterinhalt (height = Höhe). Linke und rechte Ränder sind immer gleich groß, ebenso obere und untere.

### Beachten Sie:

Sie können zu beiden Werten Angaben machen, aber auch nur zu einem der beiden.

## Unveränderbare Fenstergröße

Normalerweise kann der Anwender in einem angezeigten Frameset die Größe der einzelnen Frame-Fenster verändern, indem er mit der Maus auf die Rahmen zwischen Frame-Fenstern positioniert und durch "Ziehen" die Größenverhältnisse der Frame-Fenster einstellt. In vielen Fällen ist das auch sinnvoll, und Sie sollten dem Anwender diese Freiheit lassen. Wenn Sie aber beispielsweise ein Frame-Fenster mit einem fixen Inhalt, etwa einem Logo, haben, können Sie verhindern, dass der Anwender die Fenstergröße verändern kann.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>Unveränderbare Fenstergröße</title>
    </head>
    <frameset cols="250,*">
      <frame src="verweise5.htm" name="Navigation" scrolling="no" noresize>
      <frame src="startseite.htm" name="Daten">
      <noframes>
        <body>
        <p><a href="verweise5.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Erläuterung:

Durch das Attribut `noresize` in einem `<frame>`-Tag verhindern Sie, dass der Anwender die Größe des Frame-Fensters verändern kann (noresize = no resize = keine Größenveränderung).

### Beachten Sie:

Nicht nur das Frame-Fenster, für das Sie das Attribut notieren, kann dann nicht mehr in der Größe verändert werden, sondern auch alle benachbarten Frame-Fenster nicht. Im obigen Beispiel kann der Anwender also weder das linke noch das rechte Frame-Fenster verändern. Das ist eigentlich logisch, aber Sie sollten diese Folgewirkung berücksichtigen, wenn Sie erwägen, in einem Frame-Fenster das Verändern der Größe zu verhindern.

Wenn Sie XHTML-Standard-konform arbeiten wollen, müssen Sie das hier beschriebene Attribut in der Form `noresize="noresize"` notieren. Weitere Informationen dazu im Kapitel über XHTML und HTML.

## Rahmendicke bzw. unsichtbare Fensterrahmen

Sie können die normalerweise sichtbaren Rahmen zwischen Frame-Fenstern unterdrücken. Bei unsichtbaren Fensterrahmen wirken die Frame-Fenster wie nahtlos aneinander gefügte Flächen am Bildschirm. Leider gibt es hierbei bis auf den heutigen Tag Differenzen zwischen den Browsern, die dieses Feature seit langem unterstützen, und dem W3-Konsortium, das eine andere Variante durchsetzen will, an die sich die Browser aber nicht halten. Sie haben also die Auswahl, HTML-Standard-konform zu schreiben, und die weit verbreiteten Browser ignorieren Ihre Angaben, oder Sie schreiben für die Browser und verzichten auf die HTML-Konformität.

### Beispiel 1 (HTML-Standard-konform):

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>Rahmendicke bzw. unsichtbare Fensterrahmen</title>
    </head>
    <frameset cols="250,*">
      <frame src="verweise6.htm" name="Navigation" scrolling="no" frameborder="0">
      <frame src="startseite.htm" name="Daten" frameborder="0">
      <noframes>
        <body>
        <p><a href="verweise6.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Beispiel 2 (Browser-gerecht):

Anzeigebeispiel: So sieht's aus

    <html>
    <head>
    <title>Rahmendicke bzw. unsichtbare Fensterrahmen</title>
    </head>
    <frameset cols="250,*" frameborder="0" framespacing="0" border="0">
      <frame src="verweise7.htm" name="Navigation" scrolling="no">
      <frame src="startseite.htm" name="Daten">
      <noframes>
        <body>
        <p><a href="verweise7.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Erläuterung:

Wenn Sie HTML-Standard-konform arbeiten wollen, notieren Sie in einem gewünschten `<frame>`-Tag das Attribut `frameborder`. Mit `frameborder="0"` unterdrücken Sie die sichtbaren Rahmen zwischen dem betroffenen Frame-Fenster und allen seinen Nachbarfenstern, und mit `frameborder="1"` zeigen Sie die sichtbaren Rahmen explizit an (letzteres entspricht allerdings der Voreinstellung).

Bei der Syntax, die von den Browsern unterstützt wird, werden die dazu nötigen Attribute im einleitenden `<frameset>`-Tag desjenigen Framesets notiert, für das die Angaben dann gelten - sie betreffen dann also alle Rahmen innerhalb des Framesets.
`border` [Pixel] ist Netscape-Syntax und bestimmt die Breite der Rahmen in Pixel. Erlaubt sind Zahlenwerte von 0 (keine Rahmen anzeigen) und größer (border = Rahmen).
`frameborder` [1/0 oder yes/no] bedeutet nach Microsoft-Syntax die Angabe, ob 3D-Rahmen angezeigt werden sollen oder nicht. Dieses Attribut ist also gleichnamig mit dem HTML-Standard-konformen Attribut, bedeutet jedoch etwas anderes.
`framespacing` [Pixel] ist Microsoft-Syntax und bestimmt den Abstand zwischen Frame-Fenstern, mithin also die Breite der Rahmen in Pixel (spacing = Abstand).

### Beachten Sie:

Nur mit `frameborder="0" framespacing="0"` (also mit beiden Angaben) unterdrücken Sie beim Internet Explorer die Rahmen konsequent. Wenn Sie nur `frameborder="0"` angeben, zeigt der Internet Explorer sichtbare Abstände zwischen den Frame-Fenstern an, allerdings nicht die üblichen 3D-Rahmen, sondern flache Zwischenräume. Um die Rahmen beim Internet Explorer und bei Netscape zu unterdrücken, müssen Sie alle drei Angaben `frameborder="0" framespacing="0" border="0"` notieren (wie im obigen Beispiel 2).

Wenn Sie die Rahmen zwischen den Frame-Fenstern unterdrücken, hat der Anwender keine Möglichkeit, die Größe der Frame-Fenster zu verändern. Testen Sie Projekte mit rahmenlosen Frames deshalb möglichst unter mehreren Bildschirmauflösungen und mit unterschiedlich großem Anzeigefenster.

## Farbige Fensterrahmen

Sie können erzwingen, dass Rahmen zwischen den Frame-Fenstern farbig dargestellt werden. Diese Angaben gehören jedoch nicht zum HTML-Standard und erzeugen ungültiges HTML.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>Farbige Fensterrahmen</title>
    </head>
    <frameset cols="250,*" bordercolor="#FFFF00">
      <frame src="verweise8.htm" name="Navigation" scrolling="no">
      <frame src="startseite.htm" name="Daten">
      <noframes>
        <body>
        <p><a href="verweise8.htm">Navigation</a> <a href="startseite.htm">Daten</a></p>
        </body>
      </noframes>
    </frameset>
    </html>

### Erläuterung:

Mit den Attribut `bordercolor` im obersten `<frameset>`-Tag können Sie eine Rahmenfarbe für alle Fensterrahmen bestimmen. Dabei gelten die Regeln zum Definieren von Farben in HTML.

## Weitere Informationen

In der HTML-Referenz finden Sie Angaben darüber, welche Attribute erlaubt sind und was bei den einzelnen Attributen zu beachten ist:
Attribut-Referenz für Framesets (`<frameset>...</frameset>`)
Attribut-Referenz für Frames (`<frame>...</frame>`)

| Verweise bei Frames
| Framesets und Frames definieren

© 2007 Impressum