032.3 Lektion 1
Zertifikat: |
Web Development Essentials |
---|---|
Version: |
1.0 |
Thema: |
032 HTML-Dokument-Markup |
Lernziel: |
032.3 HTML-Referenzen und eingebettete Ressourcen |
Lektion: |
1 von 1 |
Einführung
Eine moderne Webseite besteht selten nur aus Text. Sie umfasst viele andere Arten von Inhalten, wie Bilder, Audio, Video und sogar andere HTML-Dokumente. Neben externen Inhalten können HTML-Dokumente auch Links zu anderen Dokumenten enthalten, was das Surfen im Internet sehr viel einfacher macht.
Eingebetteter Inhalt
Der Dateiaustausch über das Internet ist auch ohne in HTML geschriebene Webseiten möglich. Warum also wird HTML als Format für Webdokumente gewählt und nicht PDF oder ein anderes Textverarbeitungsformat? Ein wichtiger Grund ist, dass HTML seine Multimedia-Ressourcen in separaten Dateien speichert. In einer Umgebung wie dem Internet, wo Informationen oft redundant und an verschiedenen Orten verteilt sind, ist es wichtig, unnötige Datenübertragungen zu vermeiden. In den meisten Fällen übernehmen neue Versionen einer Webseite dieselben Bilder und andere Dateien von früheren Versionen, so dass der Webbrowser die zuvor abgerufenen Dateien verwenden kann, anstatt alles noch einmal zu kopieren. Darüber hinaus erleichtert die Trennung der Dateien die Anpassung der Multimedia-Inhalte an die Umgebung des Kunden, z.B. an Standort, Bildschirmgröße und Verbindungsgeschwindigkeit.
Bilder
Die meistverwendete Art von eingebetteten Inhalten sind Bilder, die den Text begleiten. Bilder werden separat abgelegt und in der HTML-Datei mit dem Tag <img>
referenziert:
<img src="logo.png">
Das <img>
-Tag benötigt kein schließendes Tag. Die Eigenschaft src
gibt den Quellort für die Bilddatei an. In diesem Beispiel muss sich die Bilddatei logo.png
im selben Verzeichnis wie die HTML-Datei befinden, sonst kann der Browser sie nicht anzeigen. Die Eigenschaft source location (src
) akzeptiert relative Pfade, so dass mit der Dot- oder Punktnotation den Pfad zum Bild angeben:
<img src="../logo.png">
Die beiden Punkte zeigen an, dass sich das Bild im übergeordneten Verzeichnis relativ zu dem Verzeichnis befindet, in dem die HTML-Datei liegt. Wird der Dateiname ../logo.png
in einer HTML-Datei verwendet, deren URL http://example.com/library/periodicals/index.html
lautet, fordert der Browser die Bilddatei unter der Adresse http://example.com/library/logo.png
an.
Die Punktnotation gilt auch, wenn die HTML-Datei keine tatsächliche Datei im Dateisystem ist; der HTML-Browser interpretiert die URL als Pfad zu einer Datei, aber es ist die Aufgabe des HTTP-Servers zu entscheiden, ob sich dieser Pfad auf eine Datei oder auf dynamisch generierte Inhalte bezieht. Die Domäne und der richtige Pfad werden automatisch zu allen Anfragen an den Server hinzugefügt, falls die HTML-Datei von einer HTTP-Anfrage stammt. Ebenso wird der Browser das richtige Bild öffnen, wenn die HTML-Datei direkt aus dem lokalen Dateisystem geöffnet wurde.
Quellorte, die mit einem Schrägstrich /
beginnen, werden als absolute Pfade behandelt. Absolute Pfade enthalten vollständige Informationen über den Speicherort des Bildes, so dass sie unabhängig vom Speicherort des HTML-Dokuments funktionieren. Wenn sich die Bilddatei auf einem anderen Server befindet, etwa bei Einsatz eines Content Delivery Network (CDN) , muss auch der Domainname angegeben werden.
Note
|
Content Delivery Networks bestehen aus geografisch verteilten Servern, die statische Inhalte für andere Websites speichern. Sie tragen dazu bei, die Leistung und Verfügbarkeit stark frequentierter Websites zu verbessern. |
Wenn er das Bild nicht laden kann, zeigt der HTML-Browser anstelle des Bildes den mit dem Attribut alt
angegebenen Text an. Zum Beispiel:
<img src="logo.png" alt="The Company logo">
Das Attribut alt
ist auch für die Barrierefreiheit wichtig: Nur-Text-Browser und Bildschirmlesegeräte verwenden es als Beschreibung für das entsprechende Bild.
Bildtypen
Webbrowser zeigen alle gängigen Bildtypen wie JPEG, PNG, GIF und SVG an. Die Abmessungen der Bilder werden erkannt, sobald die Bilder geladen werden, sie können jedoch mit den Attributen width
und height
vorgegeben werden:
<img src="logo.png" alt="The Company logo" width="300" height="100">
Der einzige Grund für die Einfügung von Abmessungsattributen in das <img>
-Tag ist, dass das Layout nicht zerstört wird, wenn das Laden des Bildes zu lange dauert oder wenn es überhaupt nicht geladen werden kann. Die Attribute width
und height
zur Änderung der ursprünglichen Abmessungen des Bildes können jedoch zu unerwünschten Ergebnissen führen:
-
Bilder werden verzerrt, wenn die Originalgröße kleiner ist als die neuen Abmessungen oder wenn das neue Größenverhältnis vom Original abweicht.
-
Die Verkleinerung großer Bilder verbraucht zusätzliche Bandbreite, was zu längeren Ladezeiten führt.
SVG ist das einzige Format, das nicht unter diesen Effekten leidet, da alle grafischen Informationen in numerischen Koordinaten gespeichert werden, die sich gut zur Skalierung eignen, und die Abmessungen keinen Einfluss auf die Dateigröße haben (daher der Name Scalable Vector Graphics). Zum Beispiel sind nur die Position, die Seitenabmessungen und die Farbinformationen erforderlich, um ein Rechteck in SVG zu zeichnen. Der jeweilige Wert für jedes einzelne Pixel wird anschließend dynamisch gerendert. SVG-Bilder sind HTML-Dateien insofern ähnlich, als ihre grafischen Elemente ebenfalls durch Tags in einer Textdatei definiert sind. SVG-Dateien sind für die Darstellung von scharfkantigen Zeichnungen, wie z.B. Tabellen oder Diagrammen, gedacht.
Bilder, die diese Kriterien nicht erfüllen, sollten als Bitmaps vorliegen. Im Gegensatz zu vektorbasierten Bildformaten werden bei Bitmaps die Farbinformationen für jedes Pixel des Bildes im Voraus gespeichert. Die Speicherung des Farbwerts für jedes Pixel im Bild erzeugt eine sehr große Datenmenge, weshalb Bitmaps normalerweise in komprimierten Formaten wie JPEG, PNG oder GIF gespeichert werden.
Das JPEG-Format empfiehlt sich für Fotos, da sein Komprimierungsalgorithmus gute Ergebnisse bei Schattierungen und unscharfen Hintergründen liefert. Für Bilder, bei denen Volltonfarben vorherrschen, ist das PNG-Format besser geeignet. Daher sollten Sie das PNG-Format wählen, wenn Sie ein Vektorbild in eine Bitmap umwandeln.
Das GIF-Format bietet von allen gängigen Bitmap-Formaten die niedrigste Bildqualität. Dennoch ist es wegen seiner Unterstützung für Animationen noch immer weit verbreitet. In der Tat verwenden viele Websites GIF-Dateien, um kurze Videos anzuzeigen, aber es gibt bessere Möglichkeiten, Videoinhalte darzustellen.
Audio und Video
Audio- und Videoinhalte fügen Sie einem HTML-Dokument mehr oder weniger auf die gleiche Weise hinzu wie Bilder. Es überrascht nicht, dass das Tag zum Hinzufügen von Audio <audio>
und das Tag zum Hinzufügen von Video <video>
ist. Offensichtlich sind reine Textbrowser nicht in der Lage, Multimediainhalte abzuspielen, so dass die Tags <audio>
und <video>
ein schließendes Tag nutzen, um den Text aufzunehmen, der als Ersatz für das Element dient, das nicht angezeigt werden konnte. Zum Beispiel:
<audio controls src="/media/recording.mp3">
<p>Unable to play <em>recording.mp3</em></p>
</audio>
Wenn der Browser das <audio>
-Tag nicht unterstützt, zeigt er stattdessen die Zeile “Unable to play recording.mp3” an. Die abschließenden </audio>
- oder </video>
-Tags machen es der Webseite möglich, aufwändigere alternative Inhalte als die einfache Textzeile aufzunehmen, die das Attribut alt
des <img>
-Tags erlaubt.
Das Attribut src
für die Tags <audio>
und <video>
funktioniert genauso wie für das Tag <img>
, akzeptiert aber auch URLs, die auf einen Live-Stream verweisen. Der Browser kümmert sich um die Pufferung, Dekodierung und Anzeige des Inhalts, wenn er empfangen wird. Das Attribut controls
zeigt die Wiedergabesteuerung an. Ohne dieses Attribut ist der Besucher nicht in der Lage, die Wiedergabe anzuhalten, zurückzuspulen oder anderweitig zu steuern.
Generischer Inhalt
Ein HTML-Dokument kann in ein anderes HTML-Dokument verschachtelt werden, ähnlich wie das Einfügen eines Bildes in ein HTML-Dokument, jedoch unter Verwendung des Tags <iframe>
:
<iframe name="viewer" src="gallery.html">
<p>Unsupported browser</p>
</iframe>
Einfachere reine Textbrowser unterstützen das <iframe>
-Tag nicht und zeigen stattdessen den eingeschlossenen Text an. Wie bei den Multimedia-Tags beschreibt das Attribut src
den Quellort des verschachtelten Dokuments. Die Attribute width
und height
können hinzugefügt werden, um die Standardabmessungen des iframe
-Elements zu ändern.
Das Attribut name
ermöglicht es, auf den iframe zu verweisen und das eingebettete Dokument zu ändern. Ohne dieses Attribut kann das eingebettete Dokument nicht geändert werden. Ein anchor
-Element dient dazu, ein Dokument von einer anderen Stelle innerhalb eines iframe anstelle des aktuellen Browserfensters zu laden.
Links
Das Seitenelement, das gemeinhin als Web-Link bezeichnet wird, ist auch unter dem technischen Begriff Anker oder Anchor bekannt, daher das Tag <a>
. Der Anker führt zu einem anderen Ort — eine beliebige, vom Browser unterstützte Adresse. Das Attribut href
(Hyperlink Reference) gibt den Ort an:
<a href="contact.html">Contact Information</a>
Den Speicherort geben Sie als relativen oder absoluten Pfad an, wie bei den bereits erwähnten eingebetteten Inhalten. Nur der eingeschlossene Textinhalt (z.B. Contact Information
) ist für den Besucher sichtbar, in der Regel als anklickbarer, unterstrichener blauer Text, aber das über dem Link angezeigte Element kann auch ein beliebiger anderer sichtbarer Inhalt sein, z.B. Bilder:
<a href="contact.html"><img src="contact.png" alt="Contact Information"></a>
Über spezielle Präfixe bei der Ortsangabe teilen Sie dem Browser mit, wie er diese öffnen soll. Wenn der Anker beispielsweise auf eine E-Mail-Adresse verweist, sollte das Attribut href
das Präfix mailto:
enthalten:
<a href="mailto:info@lpi.org">Contact by email</a>
Das tel:
-Präfix gibt eine Telefonnummer an. Es ist besonders nützlich für Besucher, die die Seite auf mobilen Geräten ansehen:
<a href="tel:+123456789">Contact by phone</a>
Bei Klick auf den Link öffnet der Browser den Inhalt des Ortes mit der passenden Anwendung.
Meist werden über Anker andere Webdokumente geladen. Standardmäßig ersetzt der Browser das aktuelle HTML-Dokument durch den Inhalt von der neuen Location. Dieses Verhalten beeinflussen Sie mit dem Attribut target
. Das Attribut _blank
weist den Browser beispielsweise an, die angegebene Ressource in einem neuen Fenster oder einem neuen Browser-Tab zu öffnen, je nach Präferenz des Besuchers:
<a href="contact.html" target="_blank">Contact Information</a>
Das Ziel _self
ist der Standard, wenn das Attribut target
nicht angegeben ist. Es bewirkt, dass das referenzierte Dokument das aktuelle Dokument ersetzt.
Andere Arten von Zielen sind mit dem <iframe>
-Element verbunden. Um ein referenziertes Dokument innerhalb eines <iframe>
-Elements zu laden, sollte das Attribut target
auf den Namen des iframe-Elements zeigen:
<p><a href="gallery.html" target="viewer">Photo Gallery</a></p>
<iframe name="viewer" width="800" height="600">
<p>Unsupported browser</p>
</iframe>
Das iframe-Element funktioniert wie ein eigenes Browserfenster, so dass alle Links, die aus dem Dokument innerhalb des iframe geladen werden, nur den Inhalt des iframe ersetzen. Um dieses Verhalten zu ändern, können die Ankerelemente innerhalb des “framed” Dokuments auch das Attribut target
verwenden. Das Ziel _parent
innerhalb eines Rahmens bewirkt, dass die referenzierte Stelle das übergeordnete Dokument, das das <iframe>
-Tag enthält, ersetzt. Zum Beispiel könnte das eingebettete Dokument gallery.html
einen Anker enthalten, der sich selbst lädt und das übergeordnete Dokument ersetzt:
<p><a href="gallery.html" target="_parent">Open as parent document</a></p>
HTML-Dokumente unterstützen mehrere Ebenen der Verschachtelung mit dem <iframe>
-Tag. Das Ziel _top
führt in einem Anker innerhalb eines Rahmens dazu, dass die referenzierte Stelle das Hauptdokument im Browserfenster ersetzt, unabhängig davon, ob es das unmittelbare Elternteil des entsprechenden <iframe>
oder ein Vorgänger weiter hinten in der Kette ist.
Orte innerhalb von Dokumenten
Die Adresse eines HTML-Dokuments kann optional ein Fragment enthalten, das der Identifizierung einer Ressource innerhalb des Dokuments dient. Dieses Fragment, das auch als URL-Anker bezeichnet wird, ist eine Zeichenkette, die auf ein Rautenzeichen #
am Ende der URL folgt. Zum Beispiel ist das Wort History
der Anker in der URL "https://en.wikipedia.org/wiki/Internet#History".
Wenn die URL einen Anker enthält, blättert der Browser zu dem entsprechenden Element im Dokument, d.h. zu dem Element, dessen Attribut id
dem Anker in der URL entspricht. Im Falle der angegebenen URL, https://en.wikipedia.org/wiki/Internet#History
, springt der Browser direkt zum Abschnitt “History”. Bei der Untersuchung des HTML-Codes der Seite stellt sich heraus, dass der Titel des Abschnitts das entsprechende id
-Attribut hat:
<span class="mw-headline" id="History">History</span>
URL-Anker können im href
-Attribut des <a>
-Tags verwendet werden, entweder wenn sie auf externe Seiten zeigen oder wenn sie auf Stellen innerhalb der aktuellen Seite verweisen. Im letzteren Fall reicht es aus, mit dem Rautezeichen und dem URL-Fragment zu beginnen, wie in <a href="#History">History</a>
.
Warning
|
Das Attribut |
Es gibt Möglichkeiten, die Reaktion des Browsers auf URL-Anker anzupassen. Sie könnten z.B. eine JavaScript-Funktion schreiben, die auf das hashchange-Fensterereignis wartet und eine benutzerdefinierte Aktion auslöst, wie z.B. eine Animation oder eine HTTP-Anfrage. Es ist jedoch zu beachten, dass das URL-Fragment niemals zusammen mit der URL an den Server gesendet wird, so dass es der HTTP-Server nicht als Bezeichner nutzen kann.
Geführte Übungen
-
Das HTML-Dokument unter der Adresse
http://www.lpi.org/articles/linux/index.html
hat ein<img>
-Tag, dessen Attributsrc
auf../logo.png
verweist. Wie lautet der vollständige absolute Pfad zu diesem Bild? -
Nennen Sie zwei Gründe, warum das Attribut
alt
in<img>
-Tags wichtig ist. -
Welches Bildformat bietet eine gute Bildqualität und hält die Dateigröße klein, wenn es für Fotos mit unscharfen Punkten und mit vielen Farben und Schattierungen verwendet wird?
-
Mit welchem HTML-Tag betten Sie eine Videodatei in ein HTML-Dokument ein — statt einen Drittanbieter wie z.B. Youtube zu verwenden — und nutzen dabei nur Standard-HTML-Funktionen?
Offene Übungen
-
Ein HTML-Dokument enthält den Hyperlink
<a href="pic1.jpeg">First picture</a>
und das iframe-Element<iframe name="gallery"></iframe>
. Wie ändern Sie das Hyperlink-Tag so, dass das Bild, auf das es zeigt, innerhalb des gegebenen iframe-Elements geladen wird, nachdem der Benutzer auf den Link geklickt hat? -
Was passiert, wenn der Besucher auf einen Hyperlink in einem Dokument innerhalb eines iframe klickt und das Zielattribut des Hyperlinks auf
_self
gesetzt ist? -
Sie stellen fest, dass der URL-Anker für den zweiten Abschnitt Ihrer HTML-Seite nicht funktioniert. Was ist die wahrscheinliche Ursache für diesen Fehler?
Zusammenfassung
Diese Lektion behandelt das Hinzufügen von Bildern und anderen Multimedia-Inhalten mit Hilfe der richtigen HTML-Tags. Außerdem lernen Sie die verschiedenen Einsatzmöglichkeiten von Hyperlinks kennen, um andere Dokumente zu laden und auf bestimmte Stellen innerhalb einer Seite zu verweisen. In dieser Lektion werden die folgenden Konzepte und Verfahren behandelt:
-
Das
<img>
-Tag und seine wichtigsten Attribute:src
undalt
. -
Relative und absolute URL-Pfade.
-
Beliebte Bildformate für das Web und ihre Eigenschaften.
-
Die Multimedia-Tags
<audio>
und<video>
. -
Wie man verschachtelte Dokumente mit dem <iframe>-Tag einfügt.
-
Das Hyperlink-Tag
<a>
, sein Attributhref
und spezielle Ziele. -
Wie man URL-Fragmente, auch bekannt als Hash-Anker, verwendet.
Lösungen zu den geführten Übungen
-
Das HTML-Dokument unter der Adresse
http://www.lpi.org/articles/linux/index.html
hat ein<img>
-Tag, dessen Attributsrc
auf../logo.png
verweist. Wie lautet der vollständige absolute Pfad zu diesem Bild?http://www.lpi.org/articles/logo.png
-
Nennen Sie zwei Gründe, warum das Attribut
alt
in<img>
-Tags wichtig ist.Browser, die nur Text anzeigen, können eine Beschreibung des fehlenden Bildes anzeigen. Bildschirmlesegeräte verwenden das Attribut
alt
zur Beschreibung des Bildes. -
Welches Bildformat bietet eine gute Bildqualität und hält die Dateigröße klein, wenn es für Fotos mit unscharfen Punkten und mit vielen Farben und Schattierungen verwendet wird?
Das JPEG-Format.
-
Mit welchem HTML-Tag betten Sie eine Videodatei in ein HTML-Dokument ein — statt einen Drittanbieter wie z.B. Youtube zu verwenden — und nutzen dabei nur Standard-HTML-Funktionen?
Mit dem
<video>
-Tag.
Lösungen zu den offenen Übungen
-
Ein HTML-Dokument enthält den Hyperlink
<a href="pic1.jpeg">First picture</a>
und das iframe-Element<iframe name="gallery"></iframe>
. Wie ändern Sie das Hyperlink-Tag so, dass das Bild, auf das es zeigt, innerhalb des gegebenen iframe-Elements geladen wird, nachdem der Benutzer auf den Link geklickt hat?Verwenden Sie das Attribut
target
des Tagsa
, also<a href="pic1.jpeg" target="gallery">First picture</a>
. -
Was passiert, wenn der Besucher auf einen Hyperlink in einem Dokument innerhalb eines iframe klickt und das Zielattribut des Hyperlinks auf
_self
gesetzt ist?Das Dokument wird innerhalb desselben iframe geladen, was dem Standardverhalten entspricht.
-
Sie stellen fest, dass der URL-Anker für den zweiten Abschnitt Ihrer HTML-Seite nicht funktioniert. Was ist die wahrscheinliche Ursache für diesen Fehler?
Das URL-Fragment nach dem Rautezeichen stimmt nicht mit dem Attribut
id
des Elements überein, das dem zweiten Abschnitt entspricht, oder das Attributid
des Elements ist nicht vorhanden.