HTML-Einführung
von Hubert Partl
<b> ..... </b> für fette Schrift
(boldface),
<i> ..... </i> für kursive Schrift
(italic),
<u> ..... </u> für Unterstreichungen
(underline),
<tt> ... </tt> für
nicht proportionale Schrift (teletype),
<code> ... </code> für
Computer-Schrift.
Diese Befehle sollten Sie nur dann verwenden, wenn eine bestimmte Schriftart per Konvention vorgeschrieben ist (z.B. Fettdruck für Vektoren und Kursivdruck für skalare Variable in der Mathematik, Computer-Schrift für Programmbeispiele, Kursivdruck für lateinische Pflanzen- und Tiernamen und dergleichen).
Wenn es jedoch darum geht, Wörter oder Textteile
mit einer bestimmten Bedeutung vom normalen Text abzuheben,
sollten Sie
nicht diese Befehle verwenden
sondern die Markierung mit
<em>
oder
<strong>.
Unterstreichungen sollten Sie überhaupt vermeiden, weil sie Verwechslungen mit Hypertext-Links bewirken würden.
Manche Schriftarten können von manchen Clients nicht dargestellt werden, sie werden dann durch eine andere geeignete Schriftart ersetzt.
In
HTML 3.2 und 4
sind mehrere Möglichkeiten vorgesehen,
die Schriftgröße von bestimmten Wörtern
oder Textteilen zu
beeinflussen:
<big> ....... </big> für
größere Schrift,
<small> ... </small> für
kleinere Schrift,
<font size="+n"> ... </font>
für eine um n Stufen größere Schrift,
<font size="-n"> ... </font>
für eine um n Stufen kleinere Schrift,
<font size=n> ...... </font>
für Schrift in einer bestimmten Größe,
sowie mit
Style-Sheets.
Ob und wie diese Größenangaben wirken,
hängt vom
Web-Browser
und vom
Client-Bildschirm
ab.
Viele, aber nicht alle
Web-Browser
stellen
Überschriften
der Ebenen 1 bis 3 durch fette und große Schrift dar,
manche stellen Überschriften der Ebenen 5 und 6
durch kleinere Schrift dar.
Die entsprechenden Befehle <hx> sollten
aber wirklich nur für Überschriften der jeweiligen Ebene
verwendet werden und nicht für andere Zwecke,
denn das hätte unerwünschte Nebeneffekte auf eine
eventuelle Einrückung der nachfolgenden Texte
sowie auf
Suchhilfen
und automatisch erstellte Inhaltsverzeichnisse.
Wenn Sie als Autor trotzdem auf Ihren Web-Pages bestimmte Farben für bestimmte Zwecke einsetzen wollen, dann müssen Sie die folgenden Punkte beachten:
<em>
oder
<strong>).
Der Leser könnte den Text ja
auf einem Schwarzweißdrucker ausdrucken
oder ihn mit einem
Web-Browser
ansehen, der keine Farben darstellt
oder nur für 16 Grundfarben konfiguriert ist,
oder er könnte farbenblind sein.
In
HTML 2
gibt es keine Befehle für die Spezifikation von Farben,
sondern nur allgemein für Hervorhebungen mit
<em>
und
<strong>.
In
HTML 3.2 und 4
ist die Möglichkeit vorgesehen,
Farben und andere graphische Effekte
entweder im jedem Einzelfall mit Parametern in
<body>
und
<font>
oder wesentlich eleganter und allgemeiner mit
Klassen und Style-Sheets
zu vereinbaren.
Diese Möglichkeiten werden freilich nicht von allen
Web-Browser
unterstützt.
Im folgenden wird angegeben,
wie Sie diese verschiedenen Möglichkeit so
kombinieren sollen,
dass Sie den gewünschten Effekt auf
möglichst vielen
Web-Browsern
erreichen.
Die Farben werden in diesen Befehlen meist in der Form
#rrggbb
spezifiziert, wobei
rr, gg und bb
hexadezimale Zahlenangaben
zwischen 00 (0) und FF (255)
für den Rot-, Grün- und Blauanteil sind.
Damit können theoretisch ca. 16 Millionen verschiedene Farben
spezifiziert werden,
praktisch sollten Sie sich jedoch
auf die 216 Farben beschränken,
die aus Kombinationen von
00,
33,
66,
99,
CC und
FF zusammengesetzt sind,
oder überhaupt nur auf die aus
00 und FF zusammengesetzten Grundfarben.
Beispiele
(wobei die Sternchen je nach dem verwendeten Browser
in den jeweiligen Farben erscheinen oder nicht):
#FFFFFF = weiß *****
#000000 = schwarz
*****
#FF0000 = rot
*****
#00FF00 = grün
*****
#0000FF = blau
*****
#FFFF00 = gelb
*****
#FF00FF = magenta (lila)
*****
#00FFFF = cyan (blaugrün)
*****
#999999 = grau
*****
#000066 = dunkelblau
*****
#9999FF = hellblau
*****
#660000 = dunkelrot
*****
#FF9999 = rosa
*****
In manchen Fällen können Farben auch durch bestimmte englische Wörter spezifiziert werden, z.B. white, black, red, blue, green.
Für die Realisierung gibt es zwei Möglichkeiten:
Die beste und eleganteste Methode ist es, die Farb-Angaben
mittels
Klassen-Angaben
und in
Style-Sheets
zu realsieren.
Dabei muss man beachten,
dass bei unvollständigen Angaben
durch das "Cascading" von allgemeinen und speziellen
Benutzer- und Autoren-Angaben
unerwünschte Effekte wie "blau auf blau"
entstehen können,
und deshalb immer in jedem einzelnen Fall
sowohl die Vorder- als auch die Hintergrundfarben angeben.
Außerdem muss man die Hervorhebung durch Farben
(mit class=)
auch durch "normale" Hervorhebungen mit
<em> <strong> etc.
kombinieren, damit der gewünschte Effekt
auch bei älteren Web-Browsern
oder Monochrom-Geräten
(z.B. Notebooks oder Palmtops)
und beim Ausdrucken auf Schwarz-weiß-Druckern
erreicht wird.
Sie wollen erreichen, dass der Name Ihrer Firma immer in blauer Farbe und/oder fetter oder stark hervorgehobener Schrift erscheint. Als Kontrast dazu wählen Sie weiß für den Hintergrund, schwarz für den normalen Text und verschiedene Rottöne für Hypertext-Links.
In Ihrem HTML-File "enzian.html" geben Sie zu diesem Zweck die folgende Kombination von Befehlen an:
<html> <head> <title>Enzian</title> <link rev=made href="webmaster@www.enzian.com"> <link rel=stylesheet href="enzian.css" type="text/css"> </head> <body> <h1 class=enzian>Enzian</h1> <p> Wer <strong class=enzian>Enzian</strong> trinkt, wird schneller <strong class=enzian>blau</strong>. Dies wurde von <a href="knieriem.html">namhaften Experten</a> getestet ... </body> </html>und im Style-Sheet-File "enzian.css" die folgenden Spezifikationen:
BODY { color: black; background: white }
A:link { color: #990000; background: white }
A:visited { color: #660000; background: white }
A:active { color: #FF0000; background: white }
.enzian { color: #0000FF; background: white; font-weight: bold }
Anmerkung: Theoretisch könnten Sie diese Style-Angaben
direkt im HTML-File angeben,
zwischen <style type="text/css"> und </style>
innerhalb von <head>, anstelle des Style-Sheet-Link,
aber manche nicht normgerechte Browser
würden die Style-Angaben dann als Text am Bildschirm anzeigen
statt sie zu interpretieren oder zu ignorieren.
Das Ergebnis wird dann so ähnlich wie die folgenden Zeilen aussehen:
Enzian
Wer Enzian trinkt, wird schneller blau. Dies wurde von namhaften Experten getestet ...
- - -
Wie Ihr Web-Browser dieses Beispiel tatsächlich darstellt, können Sie hier ausprobieren.
Viele (aber nicht alle) Web-Browser unterstützen die Angabe von Farben in <body> und <font>.
In <body> sind sämtliche Farben für normalen Text, Hintergrund und Link-Texte anzugeben, und man sollte unbedingt immer alle fünf Farben gemeinsam spezifizieren, um unerwünschte Effekte beim Zusammenspiel zwischen den vom Autor definierten Farben und den vom Benutzer in seinem Client eingestellten Präferenzen zu vermeiden.
In <font> kann man aber nur die Text-Farbe angeben, und damit können unerwünschte Effekte wie z.B. blauer Text auf blauem Hintergrund durch ein ungüstiges Zusammentreffen von Autoren-definierten Farben und Benutzer-Präferenzen nicht ausgeschlossen werden. Es wird deshalb dringend empfohlen, den <font>-Befehl nicht zu verwenden, sondern entweder nur die generellen Farbwünsche im <body>-Befehl oder die Spezifikation von Farben für spezielle Elemente mit Klassen-Angaben und Style-Sheets.
Jedenfalls muss man <font>-Befehle immer mit "normalen" Hervorhebungen mittels <em> <strong> oder dergleichen kombinieren, damit der gewünschte Effekt auch bei älteren Web-Browsern oder Monochrom-Geräten und beim Ausdrucken auf Schwarz-weiß-Druckern erreicht wird.
Beispiel:
Sie wollen erreichen, dass der Name Ihrer Firma immer in blauer Farbe und/oder fetter oder stark hervorgehobener Schrift erscheint. Als Kontrast dazu wählen Sie weiß für den Hintergrund, schwarz für den normalen Text und verschiedene Rottöne für Hypertext-Links.
Wenn Sie dafür die alte Methode mit <body> und <font> verwenden wollen, dann geben Sie die folgende Kombination von HTML-Befehlen an:
<html>
<head>
<title>Enzian</title>
<link rev=made href="webmaster@www.enzian.com">
</head>
<body text="#000000" bgcolor="#FFFFFF"
link="#990000" vlink="#660000" alink="#FF0000" >
<h1><font color="#0000FF">Enzian</font></h1>
<p>
Wer
<strong><font color="#0000FF">Enzian</font></strong>
trinkt, wird schneller
<strong><font color="#0000FF">blau</font></strong>.
Dies wurde von
<a href="knieriem.html">namhaften Experten</a>
getestet ...
</body>
</html>
Besser wäre es aber, wie gesagt, nicht <font> sondern Style-Sheets zu verwenden.
Hier noch ein Beispiel dafür, wie Sie es nicht machen sollten:
- - - Die Eingabe von
<font color="#999999">Grau</font> ist in Goethes "Faust" die Theorie, doch <font color="#00FF00">grün</font> des Lebens <font color="#FF9900">goldner</font> Baum, und was man <font color="#000000">schwarz</font> auf <font color="#FFFFFF">weiß</font> besitzt, kann man getrost nach Hause tragen.- - - bewirkt die Ausgabe von
Grau ist in Goethes "Faust" die Theorie, doch grün des Lebens goldner Baum, und was man schwarz auf weiß besitzt, kann man getrost nach Hause tragen.
und je nachdem, welchen Web-Browser Sie verwenden, sehen Sie hier entweder überhaupt keine Hervorhebung der Farbennamen, oder ein Teil dieser Wörter hebt sich nicht gut genug von der Hintergrundfarbe ab.
- - -
<p>,
<h1>,
<td>
usw.
beeinflußt werden.
Die Align-Hinweise werden von manchen Web-Browsern befolgt und von anderen ignoriert.
Beispiele:
- - - Die Eingabe von
<p align=left> Linksbündig ist die normale Ausrichtung von Absätzen. <p align=right> Hoffentlich geht das <br> mit rechten Dingen zu. <p align=center> Im Reich der<br>Mitte <p>- - - bewirkt eine Darstellung wie
Linksbündig ist die normale Ausrichtung von Absätzen.
Hoffentlich geht das
mit rechten Dingen zu.
Im Reich der
Mitte
- - -
In XHTML muss man die Parameterwerte in Quotes einschließen, also z.B. align="center" statt align=center schreiben.
Ein Bereich von mehreren Absätzen kann man mit dem
Befehl <div> zusammengefaßt werden.
So kann man z.B. mit einer Befehlsfolge wie
<div align=center> <p> erster zentrierter Absatz <p> zweiter zentrierter Absatz </div>eine Folge von mehreren zentrierten Absätze erreichen.
Zentrierte und linksbündige Layouts sollen niemals vermischt werden:
In linksbündigen Layouts sucht das Auge des Lesers entlang des linken Randes nach allen wichtigen Elementen (Überschriften, Aufzählungen, Numerierungen u.dgl.).
In zentrierten Layouts sucht der Leser in der Mitte des Bildschirms nach den wichtigen Elementen.
Wenn zentrierte und linksbündige Überschriften oder Listen abwechseln, funktioniert das rasche Auffinden der wichtigen Elemente nicht mehr, der Überblick geht verloren, und das Layout wird als unübersichtlich empfunden.
Beispiel:
Chaos
ist schlecht lesbar.
Harmonie
ist gut lesbar.
- - -
Deshalb: entweder alle Überschriften zentriert, oder (besser) alle Überschriften linksbündig.
Umgekehrt ist es aber üblich und empfehlenswert, bestimmte "fremde Elemente" wie Titelseiten, Bilder, Tabellen oder mathematische Formeln durch Zentrierung deutlich vom laufenden Text abzuheben und damit die Übersichtlichkeit und Lesbarkeit des laufenden Textes zu vergrößern.
Beispiel:
- - - Die Eingabe von
<p align=center> <img src="austria.gif" alt="Oesterreich">- - - bewirkt eine Darstellung wie
- - -
Nicht <center> sondern <p align=center> oder <div align=center>
Manche, aber nicht alle
Web-Browser
erlauben als Alternative zum
Befehlspaar
<p align=center> ... <p> bzw.
<div align=center> ... </div>
auch das Befehlspaar
<center> ... </center>
Dieses Befehlspaar sollen Sie aber nicht verwenden,
weil dabei die logische Struktur des Textes
völlig unklar wird:
Die Web-Browser, die diesen Befehl verstehen,
beginnen nämlich bei
<center> und </center>
einen neuen Absatz, die anderen Web-Browser aber nicht,
weil sie den unbekannten Befehl einfach ignorieren!
Beispiel (frei nach Otto Schenk in der "Fledermaus"):
- - - Die Eingabe von
Ich sagte: <center>nichts</center>würdiger Herr Direktor!- - - bewirkt auf den meisten Browsern eine Darstellung wie
Ich sagte:
nichts
würdiger Herr Direktor!
- - - aber auf anderen Browsern eventuell eine Darstellung wie
Ich sagte: nichtswürdiger Herr Direktor!
- - -
<img>
bzw.
<object>
bestimmt werden, wie der Text neben dem
Bild positioniert werden soll:
align=top für oben,
align=bottom für unten,
align=middle für auf der halben Höhe.
Die Align-Hinweise werden von manchen Web-Browsern befolgt und von anderen ignoriert.
Beispiele:
- - - Die Eingabe von
Luft . . . <img src="small.jpg" alt="[ Bild ]" align=top> . . . Köpfe- - - bewirkt eine Darstellung wie
Luft . . .
. . . Köpfe
- - - Die Eingabe von
Wasser . . . <img src="small.jpg" alt="[ Bild ]" align=middle> . . . Arme- - - bewirkt eine Darstellung wie
Wasser . . .
. . . Arme
- - - Die Eingabe von
Erde . . . <img src="small.jpg" alt="[ Bild ]" align=bottom> . . . Beine- - - bewirkt eine Darstellung wie
Erde . . .
. . . Beine
- - -
In XHTML muss man die Parameterwerte in Quotes einschließen, also z.B. align="top" statt align=top schreiben.
Seit
HTML 3.2
ist auch die Möglichkeit vorgesehen,
ein Bild nicht als Teil einer Textzeile darzustellen
sondern so, dass der mehrzeilige Text
neben dem Bild bzw. um das Bild herum läuft.
Zu diesem Zweck wird im
<img>
bzw.
<object>
Befehl der Parameter
align=left bzw.
align=right
angegeben,
und nach dem Text, der um das Bild herumlaufen soll,
der Befehl
<br clear=all>
damit der nachfolgende Text wieder mit der normalen Textbreite
unter dem Bild erscheint.
Beispiel:
- - - Die Eingabe von
<p> <img src="wwwlogo.gif" alt="" align=left> World <br> Wide <br> Web <br clear=all>- - - bewirkt eine Darstellung wie
World
Wide
Web
- - -
Auf diese Weise kann man kann auch zwei Bilder mit einem dazwischen zentrierten Text kombinieren.
Beispiel:
- - - Die Eingabe von
<p> <img src="austria.gif" alt="" align=left> <img src="austria.gif" alt="" align=right> <p align=center>Urlaub in Österreich</p> <br clear=all>- - - bewirkt eine Darstellung wie
Urlaub in Österreich
- - -
Zu bedenken ist, dass nicht alle Web-Browser diese Möglichkeit unterstützen und der Text daher unter Umständen etwas anders positioniert oder erst nach den beiden Bildern erscheint.
<table>
oder von
<pre>.
Bei manchen Browsern kann man größere Wortabstände auch
mit der Entity
oder mit unsichtbaren ("transparenten")
Inline-Bildern
erreichen,
dies führt aber bei anderen Browsern zu völlig unbrauchbaren
Ergebnissen
und sollte deshalb nicht verwendet werden.
In manchen Fällen kann man anstelle von größeren Wortabständen auch einfache andere Mittel einsetzen wie . . . Punkte oder - - - Gedankenstriche.
Trotzdem sollte man immer, wenn ein untergeordneter Text zu einem übergeordneten Text "dazugehört", eine Definition-Liste verwenden, egal ob der Browser dafür Einrückungen oder eine andere, für den Client besser geeignete Darstellung verwendet.
Ebenso sollte man für Absätze, die sich vom normalen Text abheben sollen, immer Blockquotes verwenden, egal ob der Browser dafür Einrückungen oder eine andere, für den Client besser geeignete Darstellung verwendet.
In anderen Fällen kann man Einrückungen mit
<pre>
oder mit
Tabellen
erreichen.
Hier folgt ein Beispiel, wie man den Bildschirm bzw. Printout in zwei Spalten im Verhältnis des "Goldenen Schnitts" (38:62:100) aufteilen kann:
- - - Die Eingabe von
<table border=0 width="100%"> <tr> <td valign=top align=left width="38%"> <p><b>Goldener Schnitt:</b> <td valign=top align=left width="62%"> <p>Der Goldene Schnitt ist die Aufteilung, bei der sich der kleinere Teil zum größeren so wie der größere zur Gesamtbreite verhält, also <p align=center>x : (1-x) = 1 : x <p>Dieses Verhältnis gilt als besonders ästhetisch und wird sowohl in der Kunst als auch in der Drucktechnik oft eingesetzt. <tr> <td valign=top align=left width="38%"> <p>... <td valign=top align=left width="62%"> <p>... </table>- - - bewirkt eine Darstellung wie
|
Goldener Schnitt: |
Der Goldene Schnitt ist die Aufteilung, bei der sich der kleinere Teil zum größeren so wie der größere zur Gesamtbreite verhält, also x : (1-x) = 1 : x Dieses Verhältnis gilt als besonders ästhetisch und wird sowohl in der Kunst als auch in der Drucktechnik oft eingesetzt. |
|
... |
... |
- - -
Wichtig ist dabei, dass die
width-Angaben immer nur
relativ zur Bildschirm- bzw. Fenstergröße
(also in Prozenten)
und niemals absolut (in Pixeln oder Zentimetern)
angegeben werden.
Allerdings kann man sich nicht darauf verlassen, dass das angegebene Verhältnis tatsächlich in allen Fällen eingehalten wird. Wenn das Bildschirmfenster zu schmal ist, um die Texte in den angegebenen Spalten darzustellen, kann der Web-Browser die Spaltenbreiten entsprechend anpassen.
Wichtig ist im obigen Beispiel außerdem die Angabe der <p>-Befehle innerhalb jeder Tabellenzelle. Damit wird sichergestellt, dass der Text auch von älteren Web-Browsern richtig dargestellt wird.
<p>-
oder
<br>-Befehlen
zusätzliche Leerzeilen,
bei anderen Browsern werden aber
leere Zeilen und leere Absätze ignoriert und
alle Absätze und Zeilen mit einheitlichen Abständen dargestellt.
Da auf Bildschirmen meist wesentlich weniger Zeilen sichtbar sind als auf einer Papierseite, würden größere vertikale Abstände die Übersichtlichkeit nicht (wie auf dem Papier) erhöhen sondern verringern. Falls mehrere Leerzeilen zufällig am unteren Rand des Bildschirmfensters erscheinen, sieht das so aus, als wäre das gesamte File (die gesamte Web-Page) bereits zu Ende, und der Leser wird eventuell gar nicht mehr weiterlesen.
Für die Trennung von Text-Abschnitten sollten deshalb nicht zusätzliche Leerzeilen sondern Trennlinien oder andere Elemente wie z.B.
<p align=center> * * * <p>verwendet werden.
<hr> kann man eine waagrechte Trennlinie in
den Text einfügen.
Vor und nach der Linie erfolgt ein
Zeilenwechsel oder neuer Absatz.
In XHTML muss man <hr /> statt <hr> schreiben.
<ol> und <li>
beeinflussen:
<ol type=A>
Numerierung mit Großbuchstaben A, B, C ...
<ol type=a>
Numerierung mit Kleinbuchstaben a, b, c ...
<ol type=1>
Numerierung mit Zahlen 1, 2, 3 ...
<ol type=I>
Numerierung mit römischen Zahlen I, II, III, IV, V ...
<ol type=i>
Numerierung mit kleinen römischen Zahlen
i, ii, iii, iv, v ...
<ol start=n>
Anfangswert der Numerierung
<li type=x value=n>
spezieller Wert bei einem Listenelement
Diese Parameter werden von manchen Web-Browsern unterstützt und von den anderen ignoriert.
Beispiel:
- - - Die Eingabe von
<p> Das Jahr beginnt mit den Monaten <ol type=1> <li>Jänner <li>Februar </ol> und endet mit den Monaten <ol type=1 start=11> <li>November <li>Dezember </ol>- - - bewirkt eine Darstellung wie
Das Jahr beginnt mit den Monaten
Da diese Parameter nicht von allen Web-Browsern unterstützt werden, kann man sich nicht darauf verlassen, dass die Bezeichnungen so erscheinen, wie man sich gewünscht hat. Deshalb sind Formulierungen wie "siehe Punkt C" zu vermeiden (der Punkt könnte ja mit 3 numeriert erscheinen); für solche Verweise sollte man ohnehin besser Hypertext-Verweise und Sprungmarken verwenden. Wenn die Bezeichnung wichtig ist und sichergestellt werden soll, dass sie auf allen Web-Brwosern richtig erscheint, muss man deshalb Definitions-Listen mit expliziter Angabe der Bezeichnungen verwenden.
Beispiel:
- - - Statt
<p> Toto-Tips: <ol type=1> <li>erste Mannschaft gewinnt <li>zweite Mannschaft gewinnt <li type=A value=X>Spiel endet unentschieden </ol>- - - verwendet man besser
<p> Toto-Tips: <dl compact> <dt>1 <dd>erste Mannschaft gewinnt <dt>2 <dd>zweite Mannschaft gewinnt <dt>X <dd>Spiel endet unentschieden </dl>- - - und erhält dann eine Darstellung wie
Toto-Tips:
- - -
Frames werden von den meisten neueren Web-Browsern unterstützt, aber von vielen älteren Browser-Versionen noch nicht oder nur mit einem sehr unbequemen Benutzer-Interface. Auch die meisten Analyse-Tools und Suchmaschinen ignorieren die Frames und verwenden nur die in <noframes> angegebene Information.
Bei der Definition von Frames hat das HTML-File nicht den normalen Aufbau mit Head und Body sondern einen davon abweichenden Aufbau in der folgenden Form:
<html>
<head>
<title>Titel des Files</title>
...
</head>
<frameset ... >
<frame src="xxx.html" name="xxx" >
<frame src="yyy.html" name="yyy" >
...
<noframes>
<body>
...
Information im normalen HTML-Format
oder zumindest Links auf xxx.html und yyy.html
...
</body>
</noframes>
</frameset>
</html>
Im <frameset>-Befehl wird mit Parametern
wie z.B.
rows="20%,80%" oder
cols="33%,33%,33%" angegeben,
wieviel Platz die darin enthaltenen Frames übereinander
bzw. nebeneinander bekommen sollen.
Innerhalb von <frameset>
wird mittels <frame>-Befehlen
und eventuellen weiteren <frameset>-Befehlen
angegeben,
welche Teil-Informationen wo
innerhalb des aktuellen Bildschirmfensters
oder in einem anderen Fenster
dargestellt werden sollen.
Bei Hypertext-Sprüngen von einem Frame
zu einer neuen Information in einem anderen Frame
muss im
<a href>-Befehl
mit target= der Name des Ziel-Frame angegeben werden;
bei target="_top" wird die neue Information
im vollen Bildschirmfenster dargestellt.
Die Frameset- und Frame-Angaben werden von manchen Web-Browsern befolgt und von den anderen sowie von den meisten Suchmaschinen ignoriert.
Innerhalb von <noframes>
muss deshalb die gleiche Information
nochmals in normaler HTML-Schreibweise
von <body> bis </body>
angegeben werden -
entweder die Summe der
in den Frames enthaltenen Teilinformationen,
oder zumindest eine Start-Seite oder ein Inhaltsverzeichnis
mit
Hypertext-Verweisen
auf die restlichen Teilinformationen.
Hier nur eine lakonische Feststellung wie
"Ihr Browser versteht keine Frame-Befehle"
einzufügen, wäre nicht zielführend.
Eine typische Anwendung von Frames ist z.B. eine Zweiteilung des Bildschirmes in ein kleines Fenster mit einer Knopf-Leiste oder einem Menü für die Auswahl der Informationen und ein großes Fenster für das Lesen der ausgewählten Informationen. Für solche Effekte wäre freilich die Verwendung von Navigationshilfen mit <link> günstiger, die wird aber leider auch nicht von allen Web-Browsern voll unterstützt.
Generell ist von der Verwendung von Frames eher abzuraten.
Noch ärger wird die Verwirrung, wenn innerhalb eines Frame auf eine Information gesprungen wird, die wiederum aus mehreren Frames besteht, oder wenn die Information auf mehrere Fenster verteilt ist, die teilweise gar nicht mehr sichtbar (weil durch andere Fenster verdeckt) sind.
Außerdem verbraucht jedes neue Fenster zusätzliche Ressourcen am Client-Rechner, der dadurch unbrauchbar langsam werden oder sogar "abstürzen" kann. Andererseits ist innerhalb eines Bildschirmfensters meist nicht genügend Platz, um alle Teilinformationen nebeneinander lesen zu können. Das gleiche gilt für das Ausdrucken der Informationen auf Papier.
Es ist leider auch nur schwer möglich, eine über mehrere Frames verteilte Information später wiederzufinden. Ein Frameset, das aus n Frames besteht, müßte durch eine Kombination von (n+1) URLs beschrieben werden: ein URL für das Frameset und n URLs für die momentanen Inhalte der n Frames. Bookmarks, Browser-History und Suchhilfen bauen aber immer nur auf einzelnen URLs auf. Man erhält deshalb entwender nur den Urzustand des Frameset (bevor der Inhalt durch "Weiterklicken" verändert wurde) oder nur den Inhalt, der in einem einzigen Frame enthalten war (ohne das Frameset und ohne den Inhalt der anderen Frames).
Auf Grund dieser Schwierigkeiten ist für das Konzept und die Gestaltung von Frames durch den Autor ein erfahrener Fachmann für benutzerfreundliche Mensch-Maschinen-Interfaces notwendig, und für die Verwendung der Frames durch die Benutzer eine entsprechende genauere Anwenderschulung.
Innerhalb des Linkbefehls
ist entweder mit rel= anzugeben,
zu welcher anderen Information
man von der aktuellen Web-Seite springen kann,
oder es ist mit rev= anzugeben,
von welcher anderen Information oder von welcher Person
die aktuelle Web-Seite stammt.
Mit href= ist der
URL
dieser anderen Information anzugeben.
Die wichtigsten Link-Befehle sind:
<link rev=made href="mailto:user@host.domain">
für die
Mail-Adresse des Autors
<link rel=stylesheet href="URL" type="...">
für ein
Stylesheet-File
<link rel=... href="URL">
für verschiedene Navigataionshilfen
Mit rel= ist hier ein Schlüsselwort anzugeben,
das die Art der Information angibt, auf die verwiesen wird.
Die wichtigsten Möglichkeiten sind:
up oder top,
begin oder first,
previous,
next,
end oder last,
toc (table of contents),
index,
glossary,
author,
copyright,
help.
<link rel=print href="URL" type="...">
für ein druckfertiges File dieser Information,
mit Angabe des Filetyps (z.B. PostScript oder RTF),
damit das entsprechende Druck- oder Viewer-Programm
vom Web-Browser gestartet werden kann
(Helper-Application, Plugin-Programm).
Andere Navigationshilfen wie die Rückkehr zur Start-Seite des Benutzers ("home") oder zu der vom Benutzer zuletzt gelesenen Web-Seite ("back") hängen nicht vom Autor einer Web-Seite sondern nur vom Leser ab und werden daher nur programmintern im Web-Browser gespeichert und von diesem entsprechend angezeigt. Es gibt keinen HTML-Befehl, der den Back- oder Home-Button des Browsers simuliert, und selbst wenn man eine programmtechnische Lösung dafür findet, würde man damit den History-Mechanismus des Web-Browsers und die für den Benutzer gewohnte Bedeutung der Back- und Forward- und Home-Buttons in seinem Web-Browser durcheinanderbringen und den Benutzer damit verwirren statt ihm zu helfen.
Beispiel:
Das 3. Kapitel (File hein3.html)
der HTML-Einführung
enthält die folgenden Link-Befehle:
<link rev=made href="mailto:partl@mail.boku.ac.at"> <link rel=toc href="hein.html#inhalt"> <link rel=index href="hein.html#index"> <link rel=glossary href="heinwas.html"> <link rel=copyright href="hein.html#copy"> <link rel=help href="hein.html#vorwort"> <link rel=up href="hein.html"> <link rel=previous href="hein2.html"> <link rel=next href="hein4.html"> <link rel=print href="htmleinf.ps" type="application/postscript">- - -
Manche Browser zeigen diese Links als zusätzliche Buttons oder Menü-Punkte neben den normalen Browser-Befehlen an, andere Browser zeigen sie in eigenen kleinen Fenstern oder Button-Leisten oder Pull-Down-Menüs über oder neben dem Text-Fenster an.
Gegenüber Frames oder sonstigen Hypertext-Links, die vom Autor einer jeden Web-Seite separat und daher meist verschieden definiert werden, haben die mit diesen genormten Link-Befehlen definierten Verbindungen und Navigationshilfen den großen Vorteil, dass sie vom jeweiligen Web-Browser für alle vom Benutzer gelesenen Web-Seiten immer im gleichen, für den Benutzer gewohnten Format dargestellt werden und die Navigation im World-Wide Web für den Benutzer dadurch wesentlich übersichtlicher und einfacher wird.
Leider werden die Link-Navigationshilfen von vielen Web-Browsen derzeit noch nicht voll unterstützt. Trotzdem solle man diese Angaben schon jetzt vorsorglich in allen HTML-Files einfügen, denn sie können nicht schaden und sind auch für menschliche Leser der HTML-Files ("view source") nützlich.
Manchmal kann es aber sinnvoll sein, zusätzlich aussagekräftige, aber eventuell so nicht im Text vorkommende Schlagwörter oder eine über den <title> hinausgehende Beschreibung der Web-Page anzugeben.
Dafür (und für noch ein paar andere spezielle Zwecke, die mit dem Protokoll HTTP zusammenhängen) kann man innerhalb des <head> einen oder mehrere <meta>-Befehle angeben:
<meta name=keywords content="xxx, yyy, zzz">
für die Angabe von Schlagworten
<meta name=description content="...">
für die Angabe einer kurzen Beschreibung
Ob innerhalb des "content" Entities oder nur reine ASCII-Zeichen richtig funktionieren, und überhaupt, welche Angaben in welchem Format von einer Suchmaschine verarbeitet werden, wird meist in der Online-Hilfe der jeweiligen Suchmaschine angegeben.
Die meisten Suchmaschinen sind intelligent genug programmiert, dass sie eine unrichtige oder übertriebene Beschlagwortung, mit der manche Autoren eine höhere Priorität für ihre Web-Page bei der Suche erschleichen wollen, erkennen und entsprechend "bestrafen". Auch hier gilt also: "Lügen haben kurze Beine".