Eine Einführung in HTML

Werbung
Eine Einführung in HTML
Grundsätzlicher Aufbau eines HTML-Dokuments
<HTML>
<HEAD>
Informationen über das Dokument
</HEAD>
<BODY>
Text des Dokuments
</BODY>
</HTML>
Eine Frage, die sich aus dem bisher gesagten bereits unmittelbar ergibt, ist: Wie lassen sich in
einem HTML-Dokument spitze Klammern darstellen, wenn spitze Klammern immer als Einbzw. Ausleitung eines HTML-Tags gedeutet werden? HTML verwendet zur Darstellung
sogenannter Sonderzeichen (Zeichen, die nicht direkt im Text erscheinen können) eine
Umschreibung mittels der Zeichen & (engl. "ampersand") und ; (Semikolon). Zwischen dem
& und dem ; steht ein Kürzel für das darzustellende Sonderzeichen:
< Erzeugt die öffnende spitze Klammer < (das Kleiner-als-Zeichen, engl. "lower than")
> Erzeugt die schließende spitze Klammer > (das Größer-als-Zeichen, engl. "greater than)
& Erzeugt das Zeichen & (engl. "ampersand")
Ä Erzeugt das Ä (A-Umlaut)
ä Erzeugt das ä ( a-Umlaut)
Ö Erzeugt das Ö (O-Umlaut)
ö Erzeugt das ö (o-Umlaut)
Ü Erzeugt das Ü (U-Umlaut)
ü Erzeugt das ü (u-Umlaut)
ß Erzeugt ß (sz-Ligatur).
Überschriften (engl. "headings") lassen sich in HTML durch die Tags H1 bis H6 erzeugen,
wobei H1 die oberste Gliederungsstufe darstellt und H6 die unterste.
Mit dem CENTER-Tag ist es möglich, Text horizontal zentriert darzustellen.
Absätze (engl. "paragraphs") werden mit dem P-Tag gekennzeichnet. Der P-Tag bewirkt,
daß zwischen dem dem Tag vorangehenden und dem folgenden Text eine Absatztrennung
vorgenommen wird. Der P-Tag darf ohne einen entsprechenden End-Tag stehen.
Mit Hilfe des BR-Tags kann ein Zeilenumbruch (engl. "break") erzeugt werden.
Durch den HR-Tag wird zwischen zwei Textabschnitten ein horizontaler Trennstrich (engl.
"horizontal rule") gezogen. Sowohl der BR- als auch der HR-Tag stehen ohne entsprechenden
End-Tag. Also z.B.:
Erstes Anwendungsbeispiel:
<HTML>
<HEAD>
<TITLE>
Wichtige Blockelemente
</TITLE>
</HEAD>
<BODY>
<H1>Überschrift H1</H1>
<H2>Überschrift H2</H2>
<H3>Überschrift H3</H3>
<H4>Überschrift H4</H4>
<H5>Überschrift H5</H5>
<H6>Überschrift H6</H6>
<H2>Horizontal zentrierter Text</H2>
<CENTER>
Mit Hilfe des CENTER-Tags kann Text horizontal zentriert werden.
</CENTER>
<H2>Absätze</H2>
Durch den P-Tag werden wird eine Absatz erzeugt. Dabei wird der
Text, der dem P-Tag vorangeht, von dem Text, der dem P-Tag folgt,
getrennt.
<P>
Die Absatztrennung erfolgte vor diesem Satz.
Der P-Tag braucht keinen End-Tag.
<H2>Zeilenumbruch</H2>
Durch den BR-Tag kann an beliebiger Stelle des Textes
ein Zeilenumbruch erzwungen werden.
<BR>
Der Zeilenumbruch erfolgte vor diesem Satz.
Auch der BR-Tag steht ohne End-Tag.
<H2>Horizontaler Trennstrich</H2>
Mit dem HR-Tag können zwei Textteile durch einen horizontalen
Trennstrich voneinander abgetrennt werden.
<HR>
Der Trennstrich wurde vor diesem Satz eingefügt.
Ebenso wie der BR-Tag steht beim HR-Tag kein End-Tag.
</BODY>
</HTML>
Das Ergebnis:
Einige Tags besitzen Attribute, durch welche die Wirkung der Tags beeinflusst werden kann.
Der BODY-Tag besitzt u.a. beispielsweise das optionale Attribut BGCOLOR, das die
Hintergrundfarbe des Dokuments (engl. "background color") festlegt. Attribute werden
innerhalb des (Start-) Tags angegeben. Den meisten Attributen muss mittels eines
Gleichheitszeichens ein Wert zugewiesen werden. Beispiel:
<BODY BGCOLOR="F0A344">
Der BGCOLOR zugewiesene Wert besteht aus einer Zeichenkette aus sechs
Hexadezimalziffern. Die sechs Ziffern werden zu drei Werten zusammengefasst, die den Rot-,
Grün- bzw. Blauanteil der Hintergrundfarbe definieren. Dabei bedeutet 00, dass die
entsprechende Grundfarbe überhaupt nicht in der Hintergrundfarbe vorhanden ist, und FF,
daß die Grundfarbe in ihrer maximalen Stärke auftaucht. Durch Variation der Werte lassen
sich beliebige Farbtöne erzielen. Eine rote Hintergrundfarbe wird beispielsweise durch
BGCOLOR="FF0000" erzielt, ein mittelgrauer Hintergrund durch BGCOLOR="808080".
Die Schriftfarbe und die Farbe von Verweisen lassen sich auf ähnliche Weise verändern.
Text-Tags
Folgendes HTML-Dokument zeigt die Verwendung der wichtigsten Text-Tags:
<HTML>
<HEAD>
<TITLE>
Ein HTML-Dokument mit Text
</TITLE>
</HEAD>
<BODY>
<!-- Physikalische Text-Tags -->
<H2>Text-Tags (physikalisch)</H2>
B-Tag <B>(fett)</B><BR>
I-Tag <I>(kursiv)</I><BR>
TT-Tag <TT>(nicht-proportional)</TT><BR>
U-Tag <U>(unterstrichen)</U><BR>
STRIKE-Tag <STRIKE>(durchgestrichen)</STRIKE><BR>
BIG-Tag <BIG>(groß)</BIG><BR>
SMALL-TAG <SMALL>(klein)</SMALL><BR>
SUP-Tag <SUP>(hochgestellt)</SUP><BR>
SUB-Tag <SUB>(tiefgestellt)</SUB><BR>
<!-- Logische Text-Tags -->
<H2>Text-Tags (logisch)</H2>
EM-Tag <EM>(betont)</EM><BR>
CITE-Tag <CITE>(zitiert)</CITE><BR>
STRONG-Tag <STRONG>(starkt betont)</STRONG><BR>
</BODY>
</HTML>
Das Ergebnis:
Tabellen
In HTML ist es möglich, Dokumente darzustellen, die Tabellen enthalten. Eine Tabelle wird
mit Hilfe des TABLE-Tags erzeugt. Das TABLE-Tag besitzt das optionale Attribut
BORDER. Wird es im Start-Tag angegeben, so werden die einzelnen Felder der Tabelle
durch Trennlinien voneinander abgegrenzt.
Innerhalb der TABLE-Start- und TABLE-End-Tags wird die Tabelle durch TR-Tags (engl.
"table row") zeilenweise aufgebaut. Innerhalb der TR-Start- und TR-End-Tags werden
wiederum die Inhalte der einzelnen Tabellenfelder durch TD-Tags (engl. "table data")
festgelegt. Eine Tabelle hat so viele Zeilen wie TR-Tags und so viele Spalten wie die
maximale Anzahl von TD-Tags in einer Zeile. Um eine Zeilen- oder Spaltenüberschrift zu
definieren, kann alternativ zum TD-Tag der TH-Tag (engl. "table heading") verwendet
werden. Solche Überschriften werden graphisch hervorgehoben (üblicherweise durch
Fettdruck). Sowohl TD- als auch TH-Tags können die Attribute COLSPAN bzw.
ROWSPAN besitzen. Der COLSPAN zugewiesene Wert gibt an, über wie viele
Tabellenspalten sich das aktuelle Element erstrecken soll. Entsprechendes gilt für ROWSPAN
bezüglich der Tabellenzeilen. Folgendes Beispiel zeigt eine kleine Tabelle mit einer
Überschrift, die sich über zwei Spalten erstreckt:
Verweise
1) Eine der namengebenden Eigenschaften von HTML ist die Fähigkeit dieser Sprache,
Hypertext-Verweise zu verwenden. Ein Hypertext-Verweis ist ein Wort, ein Stück Text oder
ein Bild, das mit dem Mauszeiger angeklickt werden kann und dass das Laden eines anderen
Dokuments oder Dokumentenabschnitts bewirkt.
Ein Verweis wird in HTML durch einen A-Tag gekennzeichnet. Der Text, der sich zwischen
dem Start- und dem End-Tag befindet, ist gewöhnlich farblich hervorgehoben. Das Anklicken
des Textes bewirkt, dass das Dokument, dessen URL über das Attribut HREF im Start-Tag
angegeben wurde, vom Web-Browser geladen wird. Über den optionalen Parameter
TARGET kann das Fenster bzw. der Rahmen angegeben werden, in dem das Dokument
geladen werden soll. Fehlt dieser Parameter, wird das Dokument in das Fenster bzw. den
Rahmen geladen, in dem sich der Verweis selbst befindet.
2) Wenn zum Anfang eines Dokuments gesprungen werden soll, so bedarf es keiner
gesonderten Anweisungen. Soll hingegen zu einer speziellen Stelle eines Dokuments (einem
sogenannten "Anker") verzweigt werden, so muß der URL des Dokuments ein Doppelkreuz
(#) und der Name des Ankers angehängt werden. Soll zu einem Anker innerhalb des
aktuellen Dokuments gesprungen werden, so kann die Angabe der URL fehlen.
Beispiel:
<HTML>
<HEAD>
<TITLE>
Verweise und Anker
</TITLE>
</HEAD>
<BODY>
<CENTER>
<!-- Anker namens 'Inhalt' definieren -->
<A NAME="Inhalt"><H1>Inhaltübersicht</H1></A>
<!-- Verweise zu den Abschnitten definieren -->
<A HREF="#Abschnitt1">Abschnitt 1</A><BR>
<A HREF="#Abschnitt2">Abschnitt 2</A><BR>
<!-- Verweis auf ein externes Dokument definieren -->
<A HREF="http://www.abc.de/home.html">Homepage</A>
<BR><BR><BR>
<!-- Anker fuer ersten Abschnitt definieren -->
<A NAME="Abschnitt1"><H1>Abschnitt 1</H1></A>
Text1<BR>Text1<BR>Text1<BR>Text1<BR>
Text1<BR>Text1<BR>Text1<BR>Text1<BR><BR>
<!-- Anker fuer zweiten Abschnitt definieren -->
<A NAME="Abschnitt2"><H1>Abschnitt 2</H1></A>
Text2<BR>Text2<BR>Text2<BR>Text2<BR>
Text2<BR>Text2<BR>Text2<BR>Text2<BR><BR>
<!-- Verweis auf Inhaltsuebersicht definieren -->
<A HREF="#Inhalt">Zur&uumlck zur Inhaltsübersicht</A>
</CENTER>
</BODY>
</HTML>
Formulare
1) Durch HTML-Dokumente kann nicht nur Information wiedergegeben, sondern auch
eingegeben werden. Zur Eingabe stellt HTML sogenannte Formulare zur Verfügung, die der
Benutzer entweder über die Tastatur oder mit Hilfe der Maus ausfüllen kann. Die in ein
Formular eingetragene Information kann dann zur Auswertung an einen Server geschickt
werden (wo sie z.B. -eine alte Methode - durch ein sog. CGI-Script ausgewertet wird. Das
CGI-Script läuft also auf dem Server; der Client muß sich beim Server erkundigen, ob dieser
ein passendes CGI-Script zur Verfügung stellt). Auf diese Weise ist es beispielsweise
möglich, sich über das WWW für Veranstaltungen anzumelden oder Produkte zu bestellen.
Ein HTML-Formular wird durch einen FORM-Tag definiert, der u.a. das optionale Attribut
ACTION besitzt. Durch dieses Attribut kann die URL des Servers angegeben werden, der für
die Auswertung der übertragenen Daten zuständig ist. Innerhalb des FORM-Start-Tags und
des FORM-End-Tags werden mit weiteren Tags die Elemente festgelegt, die das Formular
enthalten soll.
Das wichtigste Formularelement wird durch den INPUT-Tag definiert. Die Ausprägung
dieses Formularelements wird durch das Attribut TYPE bestimmt, dem u.a. die Werte
"BUTTON", "CHECKBOX", "PASSWORD", "RADIO", "RESET", "SUBMIT" und
"TEXT" zugewiesen werden können.
<FORM>
<INPUT TYPE="BUTTON" VALUE="Schaltfläche 1">
</FORM>
<FORM>
<INPUT TYPE="CHECKBOX" NAME="Kontrollkaestchen1" CHECKED
VALUE=1>Kontrollkästchen 1<BR>
<INPUT TYPE="CHECKBOX" NAME="Kontrollkaestchen2"
VALUE=2>Kontrollkästchen 2<BR>
</FORM>
<FORM>
Benutzername: <INPUT TYPE="TEXT" SIZE=8 MAXLENGTH=16><BR>
Kennwort: <INPUT TYPE="PASSWORD" SIZE=8 MAXLENGTH=16>
</FORM>
<FORM>
<INPUT TYPE="RADIO" NAME="GruppeA" VALUE=1>Option A1
<INPUT TYPE="RADIO" NAME="GruppeA" VALUE=2>Option A2 <BR>
<INPUT TYPE="RADIO" NAME="GruppeB" VALUE=1>Option B1
<INPUT TYPE="RADIO" NAME="GruppeB" VALUE=2>Option B2
</FORM>
<FORM ACTION="http://www.abc.de/">
Name: <INPUT TYPE="TEXT"><BR>
E-Mail: <INPUT TYPE="TEXT"><BR>
<INPUT TYPE="RESET" VALUE="Rücksetzen">
<INPUT TYPE="SUBMIT" VALUE="Abschicken">
</FORM>
Frames (Rahmen)
Oft ist es wünschenswert, auf dem Bildschirm mehrere HTML-Dokumente gleichzeitig
betrachten und manipulieren zu können. Soll etwa für eine Sammlung von Dokumenten eine
einheitliche Steuerung realisiert werden, so wäre es günstig, ein eigenes Menü-Dokument zu
entwerfen, das konstant angezeigt wird und über das andere Dokumente in einem anderen
Teil des Bildschirms geladen werden können.
Das Fenster des Web-Browsers läßt sich in voneinander weitgehend unabhängige Bereiche
aufteilen, die Rahmen (Frames), in denen dann unterschiedliche HTML-Dokumente
angezeigt werden können. Um ein Dokument mit Rahmen zu definieren, wird der BODY-Tag
des Dokuments durch den FRAMESET-Tag ersetzt. Dieser kann entweder das Attribut
ROWS oder COLS besitzen. Im ersten Fall wird das Fenster in zeilenförmige, im letzteren in
spaltenförmige Unterbereiche aufgeteilt. Der Wert, der diesen Attributen zugewiesen wird, ist
eine Zeichenkette, in der die Höhe bzw. Breite eines jeden Rahmens spezifiziert ist. Die
Anzahl der Rahmen ist durch die Anzahl der durch Kommata getrennten Werte bestimmt.
Die Angabe der Werte erfolgt in Bildschirmpunkten oder in Prozent der Fensterhöhe bzw. breite. Durch Angabe eines Sterns (*) kann festgelegt werden, daß ein Rahmen den nach
Festlegung der anderen Rahmen noch verbleibenden Platz einnehmen soll.
Innerhalb des FRAMESET-Start und Stop-Tags steht für jeden Rahmen entweder ein weiterer
FRAMESET-Tag (zur Unterteilung des Rahmens in Unterrahmen) oder aber ein FRAMETag. In diesem Tag kann durch das Attribut SRC die URL des Dokuments angegeben
werden, das im entsprechenden Rahmen angezeigt werden soll. Mittels des Attributs NAME
ist es möglich, dem Rahmen einen Namen zu geben, der dem Attribut TARGET eines
Hypertext-Verweises zugewiesen werden kann. Das Anklicken des Verweises bewirkt dann,
daß das zugehörige Dokument in den benannten Rahmen geladen wird anstatt in das Fenster
bzw. den Rahmen, in dem sich der Verweis befindet.
Beispiel:
<HTML>
<HEAD>
<TITLE>
Rahmen
</TITLE>
</HEAD>
<!-- Drei spaltenfoermige Rahmen -->
<FRAMESET COLS="200, *, 200">
<!-- Erster Rahmen -->
<FRAME SRC="dokument1.html">
<!-- Zweiter Rahmen, unterteilt in 2 zeilenfoermige Unterrahmen -->
<FRAMESET ROWS="50%, 50%">
<!-- Erster Unterrahmen -->
<FRAME SRC="dokument2a.html">
<!-- Zweiter Unterrahmen -->
<FRAME SRC="dokument2b.html">
</FRAMESET>
<!-- Dritter Rahmen -->
<FRAME SRC="dokument3.html">
</FRAMESET>
</HTML>
Aufgaben:
1) a) Überlege Dir, wie der folgende HTML-Text in einem Browser-Fenster aussehen wird.
Zeichne ein Netscape-Fenster und schreibe den Text hinein.
b) Gib sodann den Text in eine Textverarbeitung ein und teste ihn auf dem Browser aus:
<HTML>
<HEAD>
<TITLE>
Ein HTML-Dokument mit Text
</TITLE>
</HEAD>
<BODY>
Dies ist ein Text in der Standardschrift des Browsers.
Der gesamte Text wird wie ein einziger Absatz behandelt.
Mehrfache Leerzeichen und auch Zeilenumbrüche
werden wie einfache Leerzeichen behandelt. Die Zeilen
werden automatisch der Breite des Browser-Fensters
angepaßt. Probieren Sie das aus und verändern
Sie die Breite des Fensters!
</BODY>
</HTML>
2) (Tabelle) Schreiben Sie ein HTML-Dokument, in dem die Daten ihrer Lieblings-CompactDiscs tabellarisch dargestellt werden. Die Tabelle soll Spalten für den Interpreten, den Titel
der CD, das Erscheinungsjahr und die Anzahl der Stücke enthalten. Beispiel: s. Bild
3) Erzeugen Sie ein einfaches Formular mit zwei Eingabefeldern jeweils der Länge 30 und
den umbenannten Reset- und Submit-Buttons (s. Abbildung). Bei Klicken auf den SubmitKnopf soll die eingegebene Information an "adresse.cgi" mit der Methode "POST" geschickt
werden (d.h. dem Attribut METHOD=POST).
4) Erstellen Sie ein HTML- Dokument zur
Reservierung eines Hotelzimmers. Verwenden
Sie dazu ein HTML-Formular mit folgenden
Elementen: ein Textfeld zur Eingabe des
Namens des Zimmersuchenden,
Kontrollkästchen zur Auswahl der
Zimmerausstattung, Optionsfelder zur
Auswahl der Verpflegungsart, eine
Auswahlliste für die Hotelkategorie,
Schaltflächen zum Rücksetzen und Absenden
des Formulars (s. Abbildung). Beim Klick auf
den "Reservieren" - Knopf soll die
eingelesene Information an die Adresse
"http://www.hotelxy.de" geschickt werden.
5) Entwerfen Sie ein HTML-Dokument mit zwei horizontalen Rahmen. Der untere Rahmen
soll 20% des Bildschirmes einnehmen und drei Verweise enthalten, über die verschiedene
Dokumente in den oberen Rahmen geladen werden können. Schreiben Sie das passende
Dokument 1 dazu.
Das Dokument heiße "Rahmensteuerung", der obere Rahmen "Inhaltsrahmen", in den unteren
werde "Steuerleiste.html" geladen. In dem unteren Rahmen kann man "dokument1.html" ,
"dokument2.html" und "dokument3.html" aufrufen.
Lösungen:
zu 1)
zu 3):
<HTML>
<HEAD>
<TITLE>Einfaches Formular</TITLE>
</HEAD>
<BODY>
<FORM ACTION="adresse.cgi" METHOD=POST>
<P>mein Name:<INPUT NAME="name" TYPE="text" SIZE="30"></P>
<P>meine E-mail Adresse:<INPUT NAME="name" TYPE="text" SIZE="30"></P>
<P><INPUT NAME="name" TYPE="reset" VALUE="löschen">
<INPUT NAME="name" TYPE="submit" VALUE="ok">
</FORM>
</BODY>
</HTML>
zu 4):
<HTML>
<HEAD>
<TITLE>Hotelreservierung
</TITLE>
</HEAD>
<BODY>
<H1>Hotelreservierung</H1>
<FORM ACTION="http://www.hotelxy.de">
<!-- Textfeld fuer den Namen -->
Name: <INPUT TYPE="TEXT" SIZE=20><BR><BR>
<!-- Kontrollkaestchen fuer die Ausstattung -->
Ausstattung<BR>
<INPUT TYPE="CHECKBOX" VALUE="WC">WC<BR>
<INPUT TYPE="CHECKBOX" VALUE="Dusche">Dusche<BR>
<INPUT TYPE="CHECKBOX" VALUE="Fernseher">Fernseher<BR>
<INPUT TYPE="CHECKBOX" VALUE="Balkon">Balkon<BR>
<INPUT TYPE="CHECKBOX" VALUE="Bar">Bar<BR><BR>
<!-- Optionsfelder fuer die Verpflegungsart -->
Verpflegungsart<BR>
<INPUT TYPE="RADIO" VALUE="Halbpension" NAME="Verpflegung">
Halbpension<BR>
<INPUT TYPE="RADIO" VALUE="Vollpension" NAME="Verpflegung">
Vollpension<BR>
<INPUT TYPE="RADIO" VALUE="OhneFruehstueck" NAME="Verpflegung">
Ohne Frühstück<BR><BR>
<!-- Auswahlliste fuer die Hotelkategorie -->
Hotelkategorie:
<SELECT>
<OPTION>Luxus</OPTION>
<OPTION>Gehoben</OPTION>
<OPTION SELECTED>Standard</OPTION>
<OPTION>Rustikal</OPTION>
</SELECT><BR><BR>
<!-- Schaltflaechen zum Loeschen und Absenden -->
<INPUT TYPE="RESET" VALUE="Formular loeschen">
<INPUT TYPE="SUBMIT" VALUE="Reservieren">
</FORM>
</BODY>
</HTML>
zu 1):
Das Rahmendokument:
<HTML>
<HEAD>
<TITLE>
Rahmensteuerung
</TITLE>
</HEAD>
<!-- Zwei horizontale Rahmen -->
<FRAMESET ROWS="*, 20%">
<!-- Inhaltsrahmen -->
<FRAME SRC="dokument1.html" NAME="Inhaltsrahmen">
<!-- Steuerrahmen -->
<FRAME SRC="steuerleiste.html">
</FRAMESET>
</HTML>
Das Dokument steuerleiste.html
<HTML>
<HEAD>
<TITLE>
Steuerleiste
</TITLE>
</HEAD>
<BODY>
<CENTER>
<A HREF="dokument1.html" TARGET="Inhaltsrahmen">Dokument 1</A>
<A HREF="dokument2.html" TARGET="Inhaltsrahmen">Dokument 2</A>
<A HREF="dokument3.html" TARGET="Inhaltsrahmen">Dokument 3</A>
</CENTER>
</BODY>
</HTML>
Das Dokument1.html:
<HTML>
<HEAD>
<BASE TARGET="Inhaltsrahmen">
<TITLE>Dokument1</TITLE>
</HEAD>
<BODY>
<P ALIGN=CENTER>Dies ist Dokument 1
</BODY>
</HTML>
Das Dokument2.html: (eine Variante)
<HTML>
<HEAD>
<TITLE>Dokument2</TITLE>
</HEAD>
<BODY>
<P ALIGN=CENTER>Dies ist Dokument 2
</BODY>
</HTML>
Herunterladen