Ende der 1980er Jahre ent­wi­ckel­te der britische In­for­ma­ti­ker Tim Berners-Lee die Grund­kom­po­nen­ten des World Wide Webs. Als An­ge­stell­ter der Eu­ro­päi­schen Or­ga­ni­sa­ti­on für Kern­for­schung (CERN) widmete er sich zunächst einem internen Projekt, das den län­der­über­grei­fen­den Austausch von In­for­ma­tio­nen im Netzwerk zwischen den La­bo­ra­to­ri­en des CERN, die sich teilweise auf fran­zö­si­schem, teilweise auf schwei­ze­ri­schem Boden befanden, er­mög­li­chen sollte. Als Basis für die geplante Netzwerk-In­fra­struk­tur ver­wen­de­te Berners-Lee Hypertext, eine Textform, die In­for­ma­tio­nen durch Quer­ver­wei­se (Hy­per­links) ver­mit­telt und mithilfe von Aus­zeich­nungs­spra­chen ge­schrie­ben wird. Eine solche Aus­zeich­nungs­spra­che ent­wi­ckel­te er gleich mit, womit die Hypertext Markup Language, kurz HTML, geboren war.

Gemeinsam mit vielen anderen Bau­stei­nen wie dem Trans­fer­pro­to­koll HTTP, dem URL sowie Browsern und Web­ser­vern bildet HTML auch knapp drei Jahr­zehn­te später noch die Grundlage der welt­wei­ten, digitalen Ver­net­zung. Das macht das Erlernen dieser Web­spra­che zum absoluten Pflicht­pro­gramm jedes Ent­wick­lers. Um Ihnen das Prinzip der Aus­zeich­nungs­spra­che näher zu bringen und den Einstieg zu er­leich­tern, haben wir in diesem HTML-Tutorial die wich­tigs­ten Grund­la­gen und Tipps für Neulinge zu­sam­men­ge­fasst.

Was ist HTML?

HTML zählt zu den ma­schi­nen­les­ba­ren Sprachen, die auch als Com­pu­ter­spra­chen be­zeich­net werden und die In­ter­ak­ti­on zwischen Computern und Menschen er­mög­li­chen. Sie er­mög­licht es, die typischen Elemente eines text­ori­en­tier­ten Dokuments wie Über­schrif­ten, Textab­sät­ze, Listen, Tabellen oder Grafiken zu de­fi­nie­ren und zu struk­tu­rie­ren, indem man diese ent­spre­chend aus­zeich­net. Die visuelle Dar­stel­lung gelingt mithilfe eines be­lie­bi­gen Web­brow­sers, der die Code­zei­len in­ter­pre­tiert und dadurch weiß, auf welche Art und Weise die einzelnen Elemente dar­ge­stellt werden sollen. Zu­sätz­lich kann der HTML-Code Angaben in Form von Me­ta­in­for­ma­tio­nen, z. B. über den Autor, enthalten. Als Aus­zeich­nungs­spra­che nutzt man HTML heut­zu­ta­ge größ­ten­teils nur noch in seiner be­schrei­ben­den Funktion, während man das Design mithilfe von Style­sheet-Sprachen wie CSS (Cascading Style Sheets) definiert. Zu den Anfängen des Webs war es jedoch durchaus üblich, visuelle An­pas­sun­gen mit HTML vor­zu­neh­men.

HTML hat sich aus der heute weit­ge­hend ver­schwun­de­nen Me­ta­spra­che SGML (Standard Ge­ne­ra­li­zed Markup Language) ent­wi­ckelt, die ein an­er­kann­ter ISO-Standard (8879:1986) ist. Die Schreib­wei­se der SGML-Elemente findet sich daher auch in HTML wieder. Für ge­wöhn­lich werden sie durch ein Tag-Paar, bestehend aus dem Start-Tag <> und dem End-Tag </> markiert. Bei einigen Elementen ist das End-Tag nicht notwendig; darüber hinaus exis­tie­ren einige in­halts­lee­re Elemente wie der Zei­len­um­bruch <br>. Neben den Tags erinnern bei­spiels­wei­se die folgenden HTML-Ei­gen­schaf­ten an das Vorbild:

  • Do­ku­men­ten­typ-De­kla­ra­ti­on: Angabe der ver­wen­de­ten HTML-Version wie z. B. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tran­si­tio­nal//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • Ver­wen­dung von Zeichen-Entitäten: Nutzung von Entitäten für wie­der­keh­ren­de Einheiten, bei­spiels­wei­se &lt; für „<“ oder &amp; für „&“.
  • Kenn­zeich­nung von Kom­men­ta­ren: Kom­men­ta­re fügt man in HTML nach dem Muster <!--Kommentar--> hinzu.
  • Attribute: Er­gän­zen­de Ei­gen­schaf­ten von Tags nach dem Muster <tag attribut="wert">.

Welche Software benötigt man, um HTML-Code zu schreiben?

Am Anfang unseres HTML-Kurses steht die Frage zu klären, mit welcher Software sich HTML-Code ei­gent­lich am besten schreiben lässt. Hierfür gibt es gar keine all­ge­mein­gül­ti­ge Antwort. Denn ei­ner­seits sind die An­for­de­run­gen an das Programm ver­schwin­dend gering, sodass ein einfacher Text-Editor, wie er auf jedem Be­triebs­sys­tem vor­zu­fin­den ist, voll­kom­men ausreicht. An­de­rer­seits bieten spezielle HTML-An­wen­dun­gen deutliche Ver­ein­fa­chun­gen beim Code­schrei­ben. Wie gut eignen sich die ver­schie­de­nen Optionen dafür, HTML zu lernen?

Einfache Text­edi­to­ren

Um einen sauberen HTML-Code zu schreiben, benötigen Sie keine an­spruchs­vol­le Software. Ein einfacher Editor wie der Windows-Editor, der auch als Notepad bekannt ist, oder das Mac-Pendant TextEdit (im Klartext-Modus) genügen als Basis. Ihnen fehlt zwar die Mög­lich­keit, das Layout des Textes zu verändern, aber diese Aufgabe fällt ja auch den HTML-For­ma­tie­run­gen direkt zu. Text­ver­ar­bei­tungs­pro­gram­me wie Microsoft Word oder Open­Of­fice Writer können Sie theo­re­tisch ebenfalls verwenden, von deren zu­sätz­li­chen Features pro­fi­tie­ren Sie beim HTML-Lernen al­ler­dings nicht. In einigen Fällen bremsen die über­flüs­si­gen Funk­tio­nen den Lern­pro­zess sogar. Für die ersten Schritte beim Erwerb der HTML-Grund­la­gen machen Sie mit einem einfachen Text­edi­tor, der auf jedem gängigen Be­triebs­sys­tem stan­dard­mä­ßig vor­in­stal­liert ist, also alles richtig.

HTML-Editoren

Neben einfachen Editoren und komplexen Text­ver­ar­bei­tungs­pro­gram­men exis­tie­ren auch spezielle Editoren, die mit nütz­li­chen Hil­fe­stel­lun­gen aufwarten: So heben diese An­wen­dun­gen bei­spiels­wei­se syn­tak­ti­sche Aus­zeich­nun­gen farblich hervor und ver­schaf­fen Ihnen auf diese Weise einen her­vor­ra­gen­den Überblick über den ge­schrie­be­nen Code. Zu­sätz­lich werden etwaige Syn­tax­feh­ler auf­ge­deckt. Ein weiteres stan­dard­mä­ßi­ges Feature ist die Au­to­ver­voll­stän­di­gung, die Ihnen beim Schreiben der HTML-Tags Vor­schlä­ge zur Er­wei­te­rung bzw. Ver­voll­stän­di­gung des Codes un­ter­brei­tet und z. B. das End-Tag au­to­ma­tisch ergänzt. Ferner verfügen HTML-Editoren oft über eine Vor­schau­funk­ti­on, mit deren Hilfe Sie jederzeit per Knopf­druck das vor­läu­fi­ge Ergebnis Ihrer Code­zei­len be­gut­ach­ten können. Ein sehr emp­feh­lens­wer­ter Editor für Windows-Nutzer ist das freie, GPL-li­zen­zier­te Notepad++. Eine kos­ten­freie Lösung für unixoide Systeme ist Vim.

HTML-Editoren mit Echt­bild­dar­stel­lung

Eine Editor-Option, die durchaus ihre Reize besitzt und in nahezu alle Homepage-Baukästen und Content-Ma­nage­ment-Systeme in­te­griert ist, sind HTML-Editoren mit Echt­bild­dar­stel­lung, besser auch als WYSIWYG-Editoren bekannt. Das Akronym steht für den Grund­ge­dan­ken dieser Programme „What You See Is What You Get“ (dt. „Was du siehst, bekommst du auch“). Diese Editoren sind speziell für das Erzeugen von HTML-Code ent­wi­ckelt worden, erfordern al­ler­dings nur wenig Know-how über die Aus­zeich­nungs­spra­che. Wie in einem Text­ver­ar­bei­tungs­pro­gramm struk­tu­rie­ren Sie Ihren Text mithilfe vor­ge­fer­tig­ter Schalt­flä­chen im Menü, ohne ein einziges HTML-Tag zu setzen. Diese generiert der WYSIWYG-Editor parallel im Hin­ter­grund, was in der Praxis durchaus seine Vorzüge hat. Für das HTML-Lernen sind solche Editoren, zu denen bei­spiels­wei­se Blue­Grif­fon.

Die erste HTML-Seite anlegen

Im ersten Schritt des HTML-Tutorials erstellen Sie eine erste einfache Seite, die Sie mithilfe Ihres Browser anzeigen lassen können. Dabei handelt es sich al­ler­dings noch nicht um eine valide HTML-Page, die nach be­stimm­ten Standards aufgebaut ist, sondern um eine reine Testseite. Zur Er­stel­lung dieser Seite sowie der weiteren HTML-Beispiele dieses Tutorials haben wir uns für den bereits erwähnten Editor Notepad++ ent­schie­den. Nutzen Sie ein anderes Programm, kann sich die Vor­ge­hens­wei­se also leicht von den nach­fol­gen­den Aus­füh­run­gen un­ter­schei­den.

Öffnen Sie zunächst den Editor und speichern Sie die neue Datei unter dem Namen test. Wählen Sie dabei „Hypertext Markup Language file“ als Da­tei­for­mat aus, damit der Browser später auch weiß, dass es sich um eine HTML-Seite handelt. Nutzen Sie einen einfachen Editor, müssen Sie al­ter­na­tiv den Dateityp „Alle Dateien“ auswählen (Codierung: UTF-8) und die HTML-Kenn­zeich­nung direkt im Feld „Dateiname“ vornehmen, indem Sie die Datei unter dem Namen test.html speichern.

Die erzeugte Datei sollte nun mit dem Icon Ihres Web­brow­sers angezeigt werden. Per Dop­pel­klick können Sie die Seite bereits öffnen, da bisher jedoch jeglicher Inhalt fehlt, sehen Sie nur eine weiße Seite. Ergänzen Sie also im nächsten Schritt den kleinen Bei­spiel­text „Dies ist meine erste HTML-Seite!“, speichern das Dokument und öffnen die test.html-Datei erneut. Das Ergebnis sollte in etwa fol­gen­der­ma­ßen aussehen:

HTML: Die Grund­la­gen der Text­struk­tu­rie­rung

Ihre erste Webseite wäre somit er­folg­reich angelegt – und das, obwohl Sie bisher noch keinerlei HTML-Aus­zeich­nun­gen vor­ge­nom­men haben. Spä­tes­tens wenn Sie nun aber auf dem gleichen Weg einen struk­tu­rier­ten Text mit Über­schrif­ten und Absätzen einfügen, werden Sie fest­stel­len, dass Sie ohne Tags nicht weit kommen. For­ma­tie­run­gen, die Sie bei­spiel­wei­se mit einem Text­ver­ar­bei­tungs­pro­gramm hin­zu­ge­fügt haben, ver­schwin­den in der Brow­ser­an­sicht: Umbrüche werden au­to­ma­tisch entfernt, mehrere Leer­zei­chen zu­sam­men­ge­fasst etc. Die Lösung besteht darin, die ver­schie­de­nen Text­bau­stei­ne mithilfe der passenden Struk­tur­ele­men­te als solche aus­zu­zeich­nen – also den Schritt in die HTML-Welt zu voll­zie­hen.

Textab­sät­ze mithilfe des -Tags de­fi­nie­ren

Um Absätze zu setzen, benötigen Sie das <p>-Tag, das auf das englische Wort „paragraph“ (dt. Absatz) zu­rück­zu­füh­ren ist. Das Start-Tag markiert den Beginn, das End-Tag beendet den je­wei­li­gen Absatz. Innerhalb der beiden Mar­kie­run­gen befindet sich der aus­zu­zeich­nen­de Text. In allen HTML-Versionen (außer XHTML) ist das ab­schlie­ßen­de Tag zwar optional, al­ler­dings zählt die Angabe zum guten Stil und ist ins­be­son­de­re beim HTML-Lernen auch emp­feh­lens­wert. Sie können die De­fi­ni­ti­on von Absätzen direkt in der er­stell­ten Testseite aus­pro­bie­ren, indem Sie einen weiteren Text­ab­schnitt hin­zu­fü­gen und beide mithilfe des Tags kenn­zeich­nen:

<p>Dies ist meine erste HTML-Seite!</p>
<p>Dies ist der zweite Absatz meiner ersten HTML-Seite.</p>

Hinweis: Der manuell gesetzte Absatz dient einzig der besseren Über­sicht­lich­keit. Sie können beide <p>-Elemente aber auch hin­ter­ein­an­der in eine einzige Zeile schreiben.

Über­schrif­ten setzen: Das -Tag

Ebenso wichtig für eine or­dent­li­che Struktur Ihrer Website-Texte sind Über­schrif­ten. Mit HTML haben Sie nicht nur die Mög­lich­keit, diese allgemein zu kenn­zeich­nen, sondern können eine ein­deu­ti­ge Hier­ar­chie für alle ein­ge­setz­ten Schlag­zei­len festlegen. Dazu stehen die Tags <h1> bis <h6> zur Verfügung, wobei <h1> die Haupt­über­schrift der je­wei­li­gen Webseite darstellt. Diese sollten Sie, anders als <h2> und folgende, nur ein einziges Mal pro Seite verwenden. Es ist wichtig, die korrekte hier­ar­chi­sche Rei­hen­fol­ge ein­zu­hal­ten und nicht wahllos zwischen den ver­schie­de­nen Stufen zu springen, damit sowohl Leser als auch Such­ma­schi­nen die Text­struk­tur anhand der Über­schrif­ten nach­voll­zie­hen können. Für unsere Testseite fügen wir ex­em­pla­risch eine Haupt- sowie eine erste Un­ter­über­schrift hinzu:

<h1>Hauptüberschrift: Meine erste HTML-Seite</h1>
<p>Dies ist meine erste HTML-Seite!</p>
<h2>Überschrift des zweiten Absatzes</h2>
<p>Dies ist der zweite Absatz meiner ersten HTML-Seite.</p>

Hinweis: Da es sich bei dem bis­he­ri­gen HTML-Dokument um eine sehr ver­ein­fach­te Variante ohne Me­ta­in­for­ma­tio­nen handelt, zeigen einige Browser wie Firefox Umlaute nicht korrekt an. Zum Test sollten Sie daher zunächst auf Google Chrome zu­rück­grei­fen oder al­ter­na­tiv die HTML-Schreib­wei­sen der Umlaute nutzen. Im vor­lie­gen­den Beispiel müssten Sie „ü“ durch &uuml; und „Ü“ durch &Uuml; ersetzen.

Passagen und Wörter kursiv oder fett her­vor­he­ben: , , und

Zu den wichtigen HTML-Grund­la­gen zählt auch die Mög­lich­keit, einzelne Text­aus­schnit­te oder Wörter auf besondere Art und Weise her­vor­zu­he­ben. So können Sie den Fokus des Lesers ganz gezielt auf in­halt­lich oder funk­tio­nell wichtige Text­ele­men­te lenken und ihm helfen, diese zu erfassen. Mit den Tags <i> und <em> kur­si­vie­ren Sie bei­spiels­wei­se den aus­ge­zeich­ne­ten Text, um Phrasen, tech­ni­sche Ausrücke oder Gedanken zu betonen. Kursive Schrift bremst den Lesefluss im All­ge­mei­nen al­ler­dings, weshalb Sie sparsam mit den beiden Tags umgehen sollten. Wichtiger sind die Elemente <b> und <strong>, die Wörter und Text­aus­schnit­te fett dar­stel­len. Mit dem <b>-Tag sollten Sie bevorzugt solche Inhalte aus­zeich­nen, auf die der Nutzer ganz bewusst auf­merk­sam gemacht werden soll. Im Gegensatz dazu ist die <strong>-Aus­zeich­nung stan­dard­mä­ßig für in­halt­lich wichtige Text­ele­men­te vor­ge­se­hen.

Zur Ver­an­schau­li­chung der Mar­kie­rungs-Tags erweitern wir unseren HTML-Code ein wenig:

<h1>Hauptüberschrift: <i>Meine erste HTML-Seite</i></h1>
<p>Dies ist meine <strong>erste</strong> HTML-Seite!</p>
<h2>Überschrift des zweiten Absatzes</h2>
<p>Dies ist der zweite Absatz meiner <em>ersten HTML-Seite</em>.</p>
<p><b>Anmerkung</b>: Ein typisches Anwendungsbeispiel des <b>-Tags.</p>

Hinweis: Damit das HTML-Code-Beispiel in der hin­zu­ge­füg­ten Text­pas­sa­ge nicht in Klartext um­ge­wan­delt wird, haben wir die spitzen Klammern „<“ und „>“ durch ihre HTML-Schreib­wei­sen &lt; und &gt; ergänzt. Bedenken Sie außerdem auch hier wieder die Nutzung der HTML-Schreib­wei­sen für Umlaute.

Listen erstellen: Pass­ge­naue Auf­lis­tun­gen mit den Tags , und

Nicht nur beim Thema Einkaufen sind Listen eine große Hilfe: Bei der Ge­stal­tung von Texten erweisen Sie sich als nütz­li­ches Mittel, um einzelne Absätze auf­zu­lo­ckern und auf diese Weise das Le­se­er­leb­nis zu op­ti­mie­ren. Mit HTML können Sie sowohl un­ge­ord­ne­te als auch geordnete Auf­lis­tun­gen mit Num­me­rie­rung für Ihr Web­pro­jekt erstellen. Erstere erstellen Sie mithilfe des Tags <ul> (engl. „unordered list“ = un­ge­ord­ne­te Liste), während Sie die sortierte Variante mithilfe von <ol> (engl. „ordered list“ = geordnete Liste) kreieren. Die einzelnen Punkte der je­wei­li­gen Auf­lis­tung de­fi­nie­ren Sie mit dem Tag <li>, der nur in Kom­bi­na­ti­on mit einem der beiden Lis­ten­ty­pen funk­tio­niert. Testen Sie die Funk­ti­ons­wei­se der HTML-Listen mit folgendem Code:

<ul>
    <li>erster Punkt der ungeordneten Testliste</li>
    <li>zweiter Punkt der ungeordneten Testliste</li>
    <li>dritter Punkt der ungeordneten Testliste</li>
</ul>

Das Ergebnis sollte in etwa fol­gen­der­ma­ßen aussehen:

Wollen Sie aus der un­sor­tier­ten Auf­lis­tung eine num­me­rier­te Liste machen, tauschen Sie einfach das Listentyp-Tag aus:

<ol>
    <li>erster Punkt der geordneten Testliste</li>
    <li>zweiter Punkt der geordneten Testliste</li>
    <li>dritter Punkt der geordneten Testliste</li>
</ol>

Daraufhin er­schei­nen in der Brow­ser­an­sicht Zahlen anstelle der Bullet-Points:

Daten struk­tu­riert mithilfe von Tabellen prä­sen­tie­ren: , und

Jahrelang war es üblich, HTML-Tabellen nicht nur für die prak­ti­sche Prä­sen­ta­ti­on komplexer Daten, sondern auch für die Struk­tu­rie­rung des kom­plet­ten Layouts einer Webseite oder mehr­spal­ti­ger Texte zu nutzen. Mit dem Aufstieg von CSS trat diese Zu­satz­rol­le aber zunehmend in den Hin­ter­grund, sodass die Tabellen heute aus­schließ­lich in ihrer stan­dard­mä­ßig an­ge­dach­ten Funktion – der Auf­be­rei­tung von Daten – zum Einsatz kommen. Dabei besteht jede Tabelle min­des­tens aus diesen drei Kom­po­nen­ten:

  • <table>: Das <table>-Start- bzw. End-Tag kenn­zeich­net den Beginn bzw. das Ende einer HTML-Tabelle. Mit dieser Aus­zeich­nung allein kann der Browser al­ler­dings nicht viel anfangen, denn das Tag gibt weder Auf­schluss über die Anzahl der Zeilen noch über die Anzahl der Spalten.
  • <tr>: Mit dem Element <tr> (engl. „table row“ = Ta­bel­len­zei­le) fügen Sie der Tabelle eine Zeile hinzu. Hin­sicht­lich der Anzahl besteht keinerlei Be­gren­zung.
  • <td>: Erst wenn Sie Spalten hin­zu­fü­gen, haben Sie die Grund­struk­tur Ihrer Tabelle fer­tig­ge­stellt. Das dazu not­wen­di­ge Tag <td> (engl. „table data“ = Ta­bel­len­da­ten) ist lo­gi­scher­wei­se immer einem <tr>-Tag un­ter­ge­ord­net, denn es sollen ja eine bzw. mehrere Da­ten­zel­len innerhalb einer Zeile erzeugt werden. Der Inhalt eines Da­ten­fel­des steht zwischen dem öffnenden <td>- und dem schlie­ßen­den </td>-Element.

Um die etwas komplexe Struktur zu verstehen, legen wir nun eine erste, einfache HTML-Tabelle an, die lediglich aus einer Zeile und zwei Spalten besteht:

<table>
    <tr>
        <td>Inhalt des ersten Datenfeldes</td>
        <td>Inhalt des zweiten Datenfeldes</td>
    </tr>
</table>

Die Vorschau des er­stell­ten HTML-Codes erweckt den Anschein, dass sich eventuell ein Fehler ein­ge­schli­chen hat und die Tabelle nicht wie gewünscht funk­tio­niert. Es ist weder zu erkennen, dass Sie zwei Spalten definiert haben, noch, dass es sich überhaupt um eine Tabelle handelt. Dafür gibt es jedoch eine einfache Erklärung: Stan­dard­mä­ßig haben die HTML-Ta­bel­len­zel­len keine visuellen Um­ran­dun­gen. Für dieses typische Kenn­zei­chen von Tabellen müssen Sie das <table>-Tag mithilfe des Attributs border inklusive des Werts 1 erweitern:

<table border="1">
    <tr>
        <td>Inhalt des ersten Datenfeldes</td>
        <td>Inhalt des zweiten Datenfeldes</td>
    </tr>
</table>

Öffnen Sie das HTML-Dokument nun erneut in Ihrem Browser, sehen Sie das bestens vertraute Ta­bel­len­lay­out.

Hinweis: HTML5 un­ter­stützt das border-Attribut nicht mehr (für die Zel­len­um­ran­dung ist nun einzig CSS zuständig).

HTML bietet im Übrigen auch die Mög­lich­keit, Spal­ten­über­schrif­ten her­vor­zu­he­ben. Dazu ist es notwendig, die be­tref­fen­de Spalte mit dem Tag <thead> zu um­schlie­ßen und die <td>-Mar­kie­run­gen der einzelnen Da­ten­zel­len durch <th>-Tags zu ersetzen. Eine bei­spiel­haf­te Tabelle mit vier Zeilen sowie drei Spalten inklusive Über­schrift erzeugen Sie mithilfe des folgenden HTML-Codes:

<table border="1">
    <thead>
        <tr>
            <th>Überschrift Spalte 1</th>
            <th>Überschrift Spalte 2</th>
            <th>Überschrift Spalte 3</th>
        </tr>
    </thead>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

Das HTML-Ba­sis­ge­rüst: So sieht der Grund­auf­bau von Webseiten aus

In diesem Abschnitt unseres HTML-Tutorial geht es um den all­ge­mei­nen Aufbau einer Webseite. HTML-Dokumente enthalten nämlich nicht nur Text, Links und andere ein­ge­bun­de­ne Inhalte wie Bilder und Videos, sondern auch die bereits erwähnten Me­ta­in­for­ma­tio­nen, die dem Browser, aber auch den Crawlern von Such­ma­schi­nen verraten, wie sie die Seiten lesen müssen. Wenn ein Besucher eine Webseite aufruft, sieht er einige dieser zu­sätz­li­chen Angaben gar nicht, andere nur in der Ti­tel­leis­te des Brow­ser­fens­ters, im Tab, in der Chronik oder als Über­schrift von Such­ma­schi­nen­ein­trä­gen.

Auf die not­wen­di­gen Min­dest­be­stand­tei­le reduziert, sieht der Basiscode einer HTML-Seite fol­gen­der­ma­ßen aus:

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Hier finden Sie alle Informationen über das HTML-Basisgerüst">
    <title>HTML lernen: Das Grundgerüst</title>
</head>
<body>
</body>
</html>

Die Datei setzt sich also aus den drei Bereichen DOCTYPE, head und body zusammen, wobei die erste Kom­po­nen­te, bei der es sich um die Do­ku­men­ten­typ-De­fi­ni­ti­on handelt, als einzige vor dem <html>-Tag stehen muss. Hierüber teilen Sie in­ter­pre­tie­ren­den An­wen­dun­gen mit, an welchen Standard Sie sich bei der Er­stel­lung des Do­ku­men­tes gehalten haben – in diesem Fall HTML5. Diesen Do­ku­men­ten­typ erkennt jeder Browser; zudem er­mög­licht er sowohl die Nutzung aktueller HTML5- als auch älterer HTML-Codes, weshalb Sie ihn stan­dard­mä­ßig und ins­be­son­de­re beim HTML-Lernen verwenden sollten.

Im folgenden <head>-Bereich notieren Sie die Kopfdaten Ihrer HTML-Datei. Dazu zählen bei­spiels­wei­se die Zei­chen­ko­die­rung, die der Browser nutzen soll (meta charset), die für Such­ma­schi­nen relevante Meta-De­scrip­ti­on (meta name="de­scrip­ti­on") oder der Titel der Webseite (title), der im Brow­ser­kopf erscheint. Zu­sätz­lich können Sie unzählige weitere Meta-Angaben machen, wobei selbst die in unserem Beispiel ein­ge­bun­de­nen In­for­ma­tio­nen optional, zugunsten einer guten Such­ma­schi­nen­be­wer­tung aber emp­feh­lens­wert sind. Eine Ausnahme bildet die <title>-Angabe, die neben der Do­ku­men­ten­typ-De­fi­ni­ti­on das einzige Pflicht­ele­ment einer HTML-Seite darstellt. Im Kopf setzen Sie später außerdem auch den Verweis zu Ihrer CSS-Datei, in der das Design der Webseite geregelt ist. Der <body>-Abschnitt enthält all das, was am Ende im Browser des Nutzers angezeigt wird.

Hinweis: Die Tags für die HTML-Grund­struk­tur sind optional und können daher theo­re­tisch weg­ge­las­sen werden. In diesem Fall erzeugt der Browser die Tags <html>, <head> und <body> au­to­ma­tisch und ordnet ihnen die passenden Elemente zu. Es ist aber üblich, diese Angaben selbst zu machen. Zudem fördert die Auf­glie­de­rung die Les­bar­keit des Dokuments, was vor allem für HTML-Anfänger von Vorteil ist.

So in­te­grie­ren Sie Bilder, Fotos und Grafiken in Ihre Webseiten

Texte sind un­be­strit­ten der wich­tigs­te Be­stand­teil ge­wöhn­li­cher HTML-Seiten. Visuelle Reiz­punk­te in Form von Bildern, Fotos oder Grafiken haben al­ler­dings einen großen Einfluss auf die User-Ex­pe­ri­ence, weshalb diese ebenso un­ver­zicht­bar für einen ge­lun­ge­nen Web­auf­tritt sind. Gängig ist die Nutzung folgender drei Formate, die von allen Browsern un­ter­stützt werden:

  • JPG: Für Fotos oder fo­to­ähn­li­che Grafiken mit starken Kon­tras­ten und farb­li­cher Vielfalt verwendet man für ge­wöhn­lich das JPG-Format. Dieses kann über 16 Millionen Farben dar­stel­len und Dateien stark kom­pri­mie­ren – wenn­gleich letzteres mit einem Qua­li­täts­ver­lust verknüpft ist.
  • PNG: Grafiken und Logos speichern Sie am besten im PNG-Format, das 256 (PNG8) bis 16,7 Millionen Farben (PNG24) dar­stel­len kann. Im Gegensatz zu JPG kom­pri­miert PNG ohne Qua­li­täts­ver­lust, dafür ist die Datei aber auch größer.
  • GIF: GIF-Dateien können nur 256 Farben abbilden, sind in der Web­ent­wick­lung aber trotzdem gefragt, denn mit ihnen lassen sich kleine Ani­ma­tio­nen, Na­vi­ga­ti­ons­ele­men­te oder simple Grafiken gut wie­der­ge­ben.
Tipp

Ihnen fehlt noch ein Logo für Ihre Homepage? Mit dem IONOS Logo-Generator können Sie kostenlos und mit nur wenigen Klicks Ihr eigenes Logo erstellen!

Un­ab­hän­gig vom Format binden Sie ein Bild mit dem <img>-Tag (engl. „image“ = Bild) in die ge­wünsch­te Webseite ein. Zu­sätz­lich ist es notwendig, den Ablageort des Bildes anzugeben, denn ansonsten kann der Browser dieses nicht finden und lo­gi­scher­wei­se auch nicht anzeigen. Hierfür benötigen Sie das Attribut src (engl. „source“ = Quelle) sowie den relativen Pfadnamen der Bilddatei. Legen Sie hierfür einfach einen Un­ter­ord­ner mit dem Namen „Bilder“ im Pro­jekt­ord­ner Ihrer Website (der auch das HTML-Dokument enthält) an und speichern alle re­le­van­ten Bilder dort ab. Unsere HTML-Tutorial-Bei­spiel­da­tei trägt den Da­tei­na­men grafik1.png und liegt im genannten Ordner „Bilder“. Der Code zur einfachen Ein­bin­dung dieser Grafik sieht so aus:

<img src="bilder/grafik1.png" />

Für Bilder exis­tie­ren al­ler­dings noch weitere Attribute, deren Einsatz aus guten Gründen emp­feh­lens­wert ist. Dabei handelt es sich zum einen um die Angabe der Breite (width) und Höhe (height) des Bildes. Dank dieser Werte kann der Browser beim Laden einen Platz­hal­ter in der ent­spre­chen­den Größe plat­zie­ren, bis das ei­gent­li­che Bild komplett über­tra­gen ist. Somit kann er parallel weitere Inhalte im Browser-Fenster dar­stel­len, ohne dass der La­de­pro­zess der Bilddatei ab­ge­schlos­sen sein muss – was wiederum die all­ge­mei­ne Ladezeit der Website be­schleu­nigt. Zum anderen gibt es das alt-Attribut, mit dem Sie einen Al­ter­na­tiv­text für das Bild de­fi­nie­ren. Diesen sollten Sie aus ver­schie­de­nen Gründen in Ihr HTML-Grund­la­gen-Re­per­toire aufnehmen, denn er …

  • trägt zur Bar­rie­re­frei­heit der Seite bei, indem er seh­be­hin­der­ten Nutzern oder bei La­de­schwie­rig­kei­ten der Bilddatei eine Al­ter­na­ti­ve bietet.
  • hilft den Such­ma­schi­nen-Crawlern das Bild ein­zu­ord­nen und zählt ferner auch als zu­sätz­li­cher Content.
  • ist in der HTML-Spe­zi­fi­ka­ti­on vor­ge­schrie­ben.

Um diese Attribute erweitert sieht der HTML-Code in etwa wie folgt aus:

<img src="bilder/grafik1.png" width="960" height="274" alt="HTML lernen: So sieht die eingebundene Beispielgrafik 'Click here' aus" />

Hinweis: Bei den hier ver­wen­de­ten Werten für Breite (960) und Höhe (274) handelt es sich um die Ori­gi­nal­ma­ße der Bei­spiel­gra­fik. Der Browser errechnet die Größe stan­dard­mä­ßig au­to­ma­tisch in Pixeln.

Seiten und Inhalte mit­ein­an­der ver­knüp­fen – die wichtige Rolle von Hy­per­links

Hy­per­links, besser bekannt unter der Kurzform „Links“, sind der Haupt­grund für den un­ver­gleich­ba­ren Erfolg des World Wide Web. Ohne diese elek­tro­ni­schen Verweise, die den User auf eine andere Webseite führen oder eine spezielle Aktion wie bei­spiels­wei­se einen Download starten, wäre ein Ver­net­zungs­grad, wie ihn das Web bietet, nicht möglich. Drei Typen von Links gilt es zu un­ter­schei­den:

  • Interne Links: Interne Ver­lin­kun­gen dienen der Struk­tu­rie­rung der kom­plet­ten Website und weisen den Besuchern den Weg. Hierbei können Sie ver­schie­de­ne Struk­tu­ren rea­li­sie­ren. Bei einer linearen Struktur gelangt der User bei­spiels­wei­se in einer be­stimm­ten Rei­hen­fol­ge von Seite zu Seite, während er bei einer Baum­struk­tur von einer Start­sei­te aus zu diversen un­ter­ge­ord­ne­ten Seiten na­vi­gie­ren kann. Sie können auch interne Ver­lin­kun­gen innerhalb einer einzelnen Seite setzen, mit deren Hilfe der Nutzer bei­spiels­wei­se direkt vom Sei­ten­en­de zum -anfang springen kann.
  • Externe Links: Als externe Links be­zeich­net man solche Ver­lin­kun­gen, die auf ein anderes Web­pro­jekt verweisen. Diese Art von Verweisen nutzen Sie, um Ihren Besuchern einen Mehrwert zu bieten bzw. ein anderes Web­an­ge­bot zu empfehlen. Sie sollten al­ler­dings darauf achten, dass Sie nicht zu viele aus­ge­hen­de Links auf einer Seite plat­zie­ren und dass der verlinkte Inhalt ver­trau­ens­wür­dig ist. An­dern­falls nehmen Sie eine negative Such­ma­schi­nen­be­wer­tung in Kauf.
  • Andere Links: Nicht alle Links verweisen auf HTML-Dokumente. Je nach Linkziel kann das Klicken eines Verweises auch einen Download anstoßen, den Mail-Client öffnen oder den PDF-Be­trach­ter ak­ti­vie­ren.

Interne Links: So ver­knüp­fen Sie einzelne Seiten Ihres Web­auf­tritts

Während Sie zu einem späteren Zeitpunkt Ihres HTML-Studiums mit großer Wahr­schein­lich­keit einmal in den Genuss kommen werden, eine komplexe Link­struk­tur für Ihre Web­prä­senz zu kon­zi­pie­ren und zu ent­wi­ckeln, soll es im Rahmen dieses HTML-Crash­kur­ses zunächst um eine einfache interne Ver­knüp­fung zweier Seiten gehen. Dafür benötigen Sie neben der bereits er­stell­ten test.html noch ein weiteres HTML-Dokument. Achten Sie darauf, dass Sie dieser zweiten Datei einen anderen Namen geben, z. B. zielseite.html, und dass sie sich im gleichen Ver­zeich­nis wie die Testseite befindet.

Um einen Link zu erzeugen, benötigen Sie das HTML-Tag <a> (engl. „anchor“ = Anker), das jedoch nur für die In­for­ma­ti­on, dass es sich um eine Ver­lin­kung handelt, steht. Aus diesem Grund kann es nicht alleine stehen, zu­sätz­lich braucht es das Attribut href (Hyperreferenz), um das Linkziel anzugeben. Den Linktext, den der Browser stan­dard­mä­ßig blau und un­ter­stri­chen anzeigt, schreiben Sie zwischen das öffnende und das schlie­ßen­de <a>-Tag. Setzen Sie eine erste interne Ver­lin­kung, indem Sie der test.html folgende Codezeile hin­zu­fü­gen:

<a href="zielseite.html">Link zur gewünschten Zielseite</a>

Haben Sie die Ver­lin­kung korrekt gesetzt, sollte ein Klick darauf eine leere Seite öffnen, denn die zielseite.html ist bis dato ja noch un­be­ar­bei­tet. Aus diesem Grund fügen wir in dieses Dokument im nächsten Schritt eine weitere interne Ver­lin­kung ein, die per Klick zurück auf die Ur­sprungs­sei­te führt:

<a href="test.html">Link zurück zur Ausgangsseite</a>

Hinweis: Liegt die zu ver­lin­ken­de Seite nicht im Haupt­ver­zeich­nis, geben Sie einfach den ent­spre­chen­den Pfad des Un­ter­ver­zeich­nis­ses an – bei­spiels­wei­se un­ter­ver­zeich­nis/zielseite.html. Zurück kämen Sie in diesem Fall mit <a href="https://www.ionos.de/digitalguide/../test.html">.

Externe Links: Wie Sie auf die Inhalte anderer Web­prä­sen­zen verweisen

Wenn Sie Ihren Seiten einen externen Link hin­zu­fü­gen wollen, benötigen Sie weder ein anderes Tag als bei der internen Ver­lin­kung, noch müssen Sie wissen, in welchem Ver­zeich­nis die zu ver­lin­ken­de Seite ab­ge­spei­chert ist. Verweise auf fremde Inhalte setzen einzig die Angabe der kom­plet­ten URL voraus – diese enthält au­to­ma­tisch die be­nö­tig­ten In­for­ma­tio­nen. Da der verlinkte Content nicht auf Ihrem eigenen Webserver liegt, haben Sie keinerlei Einfluss auf die Funk­tio­na­li­tät eines externen Links, weshalb Sie diese re­gel­mä­ßig über­prü­fen sollten. Bemühen Sie sich um die For­mu­lie­rung eines aus­sa­ge­kräf­ti­gen Link­tex­tes, denn in­halts­lo­se Platz­hal­ter wie „hier“ geben dem Besucher keinerlei In­for­ma­ti­on darüber, was hinter dem Link steckt. Probieren Sie die externe Ver­lin­kung mit dem folgenden Code aus, der einen Verweis zu unserem Digital Guide erzeugt:

<p>HTML-Tutorial auf Deutsch und zahlreiche weitere Ratgeber zu den Themen Websites, Hosting und Co. im
<a href="https://www.ionos.de/digitalguide">IONOS Digital Guide</a>
</p>

Mit einem ge­wöhn­li­chen externen Link führen Sie die Besucher immer auch von Ihrem eigenen Web­pro­jekt weg. Theo­re­tisch kann diese über einen Klick auf den „Zurück“-Button zwar wieder zu Ihnen zu­rück­keh­ren, al­ler­dings wird diese Option häufig nicht wahr­ge­nom­men. Prak­ti­scher­wei­se gibt es eine Mög­lich­keit, mit der Sie die verlinkte Seite vom Browser au­to­ma­tisch in einem neuen, separaten Tab oder Fenster öffnen lassen können, ohne dass sich Ihre Seite dabei schließt: Das Attribut target be­schreibt, wo ein ver­link­tes Dokument geöffnet werden soll. Mit dem Wert _blank spe­zi­fi­ziert sorgt sein Einsatz für das erwähnte Öffnen in einem neuen Fenster bzw. Tab. Der an­ge­pass­te Code des Links sieht fol­gen­der­ma­ßen aus:

<a href="https://www.ionos.de/digitalguide" target="_blank">IONOS Digital Guide</a>

Auf der Ziel­ge­ra­den – so stellen Sie Ihre HTML-Seite online

Die Bei­spiel­sei­ten, die Sie in diesem HTML-Tutorial erstellt haben, können Sie auf Ihrem Rechner ganz normal öffnen. Wenn Sie nun aber die ent­spre­chen­den Seiten-URLs an andere Personen wei­ter­lei­ten, um bei­spiels­wei­se die Er­geb­nis­se zu prä­sen­tie­ren, können diese damit nicht viel anfangen. Das liegt daran, dass die HTML-Dokumente und etwaige ein­ge­bun­de­ne Bilder etc. nur lokal auf Ihrem PC ab­ge­spei­chert sind und deshalb nicht an die an­fra­gen­den Browser aus­ge­lie­fert werden können. Damit die Welt an Ihren Krea­tio­nen teilhaben kann, müssen Sie Ihr Web­pro­jekt zunächst im Netz re­gis­trie­ren und für die geeignete Hosting-Struktur sorgen.

Es gilt also im ersten Schritt, eine passende Domain (Web­adres­se) für Ihren Auftritt zu finden und diese zu re­gis­trie­ren. Diese Anmeldung können Sie bei jedem In­ter­net­pro­vi­der vornehmen – auch wir bei IONOS bieten Ihnen eine ent­spre­chen­de Option zur Domain-Re­gis­trie­rung an. Im zweiten Schritt geht es darum, die geeignete Basis für Ihr Web­pro­jekt zu schaffen, indem Sie entweder einen eigenen Webserver ein­rich­ten und kon­fi­gu­rie­ren oder diesen bei einem Web­hos­ting-Anbieter mieten. Als HTML-Anfänger empfehlen wir Ihnen letztere Option: So müssen Sie sich nicht mit der Auswahl, Ein­rich­tung und Wartung der Server-Software aus­ein­an­der­set­zen und wählen einfach das ge­wünsch­te Webspace-Paket, das Ihnen den not­wen­di­gen Spei­cher­platz für die Dokumente Ihres Projektes gewährt.

Um Ihre Seiten im letzten Schritt auf den ge­mie­te­ten Webspace hoch­zu­la­den, benötigen Sie für ge­wöhn­lich ein FTP-Programm. Mithilfe dieser Client-Software können Sie Daten mit einem FTP-Server des Providers über das na­mens­ge­ben­de File Transfer Protocol aus­tau­schen. Einige ex­zel­len­te Vertreter von FTP-Pro­gram­men haben wir in umserem Ratgeber für Sie zu­sam­men­ge­tra­gen. De­tail­lier­te An­lei­tun­gen und Zu­gangs­da­ten für den Zugriff auf den FTP-Server erhalten Sie direkt vom je­wei­li­gen Hosting-Anbieter.

Hinweis: Beim Hochladen auf den FTP-Server bleibt die Ver­zeich­nis­struk­tur bestehen. Es lohnt sich also, von Beginn an Mühe in die Struk­tu­rie­rung zu in­ves­tie­ren.

CSS und Ja­va­Script – warum HTML erst der Anfang ist

Im Laufe des Tutorials haben wir mehrfach betont, dass HTML zwar die Grundlage für jede Webseite bildet, die Aufgabe des Designs in der modernen Web­ent­wick­lung aber einer anderen Sprache zufällt: Welche Farben die einzelnen Elemente besitzen, welches Layout einer Seite zu Grunde liegt oder in welcher Schrift­art und -größe Text­pas­sa­gen, Über­schrif­ten und andere Text­ele­men­te er­schei­nen, de­fi­nie­ren Sie heute aus­schließ­lich mit der Style­sheet-Sprache Cascading Style Sheets (CSS). Die strikte Trennung von Inhalt und Design er­leich­tert die Analyse und Pflege größerer Web­pro­jek­te enorm. Im Anschluss an das HTML-Lernen ist es folglich absolut emp­feh­lens­wert, sich mit CSS zu befassen, damit Sie Ihren er­stell­ten HTML-Seiten auch das ge­wünsch­te Aussehen verleihen können.

Eine bis dato unerwähnt ge­blie­be­ne Kom­po­nen­te der modernen Webseite ist Ja­va­Script. Mithilfe der Skript­spra­che erweitern Sie Ihre HTML-Seiten um dy­na­mi­sche Elemente, durch die Ihre Besucher mit der Seite in­ter­agie­ren können. Dabei kann es sich bei­spiels­wei­se um Bil­der­ga­le­rien, dy­na­mi­sche Na­vi­ga­ti­ons­me­nüs oder das Nachladen externer Daten handeln. Sowohl für Ja­va­Script als auch für CSS finden Sie online zahl­rei­che fertige Code-Schnipsel, die Sie direkt in Ihre Dokumente (CSS und Ja­va­Script) in­te­grie­ren können, ohne eigene Skripte schreiben zu müssen. Zuvor sollten Sie jedoch ein grund­le­gen­des Ver­ständ­nis für die beiden Web­spra­chen ent­wi­ckelt haben, um diese Code­zei­len korrekt einsetzen und sich bei auf­tre­ten­den Problemen auf Feh­ler­su­che begeben zu können.

Zum Hauptmenü