IT-Kurs HTML-Grundlagen 015_HTML5 Neue Funktionen
HTML5 Neue Funktionen
HTML5 ist die neueste Version von HTML und führt viele neue Tags, Attribute und Funktionen ein, die die Funktionalität und Interaktivität des Webs erheblich verbessern.
Einige interessante neue Funktionen in HTML5:
- Das canvas-Element zum Zeichnen
- Die video- und audio-Elemente zur Medienwiedergabe
- Bessere Unterstützung für lokale Offline-Speicherung
- Neue spezielle Inhaltselemente wie article, footer, header, nav, section
- Neue Formularsteuerelemente wie calendar, date, time, email, url, search
<canvas>
Das HTML5 <canvas>-Element wird zum Zeichnen von Grafiken auf Webseiten verwendet. Das <canvas>-Element basiert auf der JavaScript-Zeichen-API und kann zur Erstellung verschiedener Grafiken verwendet werden, einschließlich Diagrammen, Grafiken, Animationen usw.
Beispiel:
<canvas width="500" height="500"> Ihr Browser unterstützt das HTML5 canvas-Tag nicht.</canvas><script> const canvas = document.querySelector("canvas"); // Zeichenkontext abrufen const ctx = canvas.getContext("2d"); // Kreis zeichnen ctx.beginPath(); ctx.arc(250, 250, 100, 0, 2 * Math.PI); ctx.fillStyle = "yellow"; ctx.fill();</script>Effekt:

<svg>
Das HTML5 SVG-Element wird zur Erstellung von SVG-Grafiken auf Webseiten verwendet. SVG-Grafiken sind XML-basierte Vektorgrafiken, die verlustfrei skaliert werden können und sich für verschiedene Zwecke eignen, einschließlich:
SVG-Elemente umfassen:
<svg>-Element: Definiert das Wurzelelement der SVG-Grafik.<path>-Element: Definiert Pfadformen.<rect>-Element: Definiert rechteckige Formen.<circle>-Element: Definiert kreisförmige Formen.<ellipse>-Element: Definiert elliptische Formen.<line>-Element: Definiert gerade Linien.<polygon>-Element: Definiert Polygone.<polyline>-Element: Definiert Polylinien.<text>-Element: Definiert Text.<g>-Element: Definiert eine Gruppe, die verwendet wird, um SVG-Elemente zusammenzufassen.<defs>-Element: Definiert globale Attribute, die auf mehrere SVG-Elemente angewendet werden können.
Beispiel:
<svg width="500" height="500"> <circle cx="250" cy="250" r="100" fill="yellow" /></svg>Effekt:

SVG und Canvas sind beide Werkzeuge zur Erstellung von Grafiken auf Webseiten. Sie haben jeweils ihre eigenen Vor- und Nachteile und eignen sich für unterschiedliche Szenarien.
SVG ist eine XML-basierte Vektorgrafik, die verlustfrei skaliert werden kann. Das bedeutet, dass SVG-Grafiken in beliebiger Größe angezeigt werden können, ohne an Qualität zu verlieren. SVG-Grafiken können auch mit CSS und JavaScript manipuliert und animiert werden.
Canvas ist eine JavaScript-basierte Zeichen-API, die Bitmap-Grafiken erstellen kann. Das bedeutet, dass Canvas-Grafiken nicht verlustfrei skaliert werden können, aber mit JavaScript komplexere Grafiken erstellt werden können. Canvas-Grafiken können auch mit JavaScript manipuliert und animiert werden.
Spezifische Unterschiede zwischen SVG und Canvas:
| Eigenschaft | SVG | Canvas |
|---|---|---|
| Bildtyp | Vektor | Bitmap |
| Skalierung | Verlustfrei | Mit Verlusten |
| Grafiktypen | Rechtecke, Kreise, Pfade usw. | Beliebig |
| Manipulation | CSS, JavaScript | JavaScript |
| Animation | CSS, JavaScript | JavaScript |
| Dateigröße | Normalerweise kleiner | Normalerweise größer |
| Barrierefreiheit | Ausgezeichnet | Durchschnittlich |
-
SVG eignet sich für Szenarien:
- Grafiken, die verlustfrei skaliert werden müssen, wie Symbole, Logos, Illustrationen
- Grafiken, die mit CSS und JavaScript manipuliert und animiert werden müssen
-
Canvas eignet sich für Szenarien:
- Szenarien, die komplexe Grafiken erfordern, wie Spiele, Animationen
- Szenarien, die komplexe Operationen mit JavaScript erfordern
HTML5-Formulare
HTML5 führt einige neue Eingabetypen und Attribute ein, um die Funktionalität und Benutzerfreundlichkeit von Formularen zu verbessern.
Neue Formularelemente:
<datalist>-Element: Wird für eine vordefinierte Optionsliste des<input>-Elements verwendet.
Beispiel:
<label for="browser">Browser auswählen:</label><input list="browsers" id="browser" name="browser" autocomplete="off"><datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> <option value="Edge"> <option value="Opera"></datalist>Effekt:

| Element | Beschreibung |
|---|---|
<datalist> | Definiert eine vordefinierte Optionsliste für das <input>-Element. |
<output> | Stellt das Ergebnis einer Berechnung dar. |
<keygen> | Erstellt ein Schlüsselpaar für ein Formular, normalerweise für den Schlüsselaustausch verwendet. |
<progress> | Definiert eine Fortschrittsanzeige für jede Art von Aufgabe. |
<meter> | Misst einen skalaren Wert oder einen Bruchteil innerhalb eines bekannten Bereichs. |
Neue Formularattribute:
<form>/<input>autocomplete-Attribut: Gibt an, dass das form- oder input-Feld eine Autovervollständigungsfunktion haben soll. Wenn der Benutzer beginnt, in ein Autovervollständigungsfeld einzugeben, sollte der Browser die ausgefüllten Optionen in diesem Feld anzeigen.
Beispiel:
<form action="demo-form.php" autocomplete="on"> Familienname:<input type="text" name="fname"><br> Vorname:<input type="text" name="lname"><br> E-Mail:<input type="email" name="email" autocomplete="off"><br> <input type="submit"></form>Effekt:

| Attribut | Beschreibung |
|---|---|
autocomplete | Gibt an, ob das Eingabefeld die Autovervollständigungsfunktion aktivieren soll. |
novalidate | Verhindert, dass der Browser das Formular validiert. |
form | Gibt das Formular an, zu dem das <input>-Element gehört, und verknüpft es mit einem bestimmten Formular. |
formaction | Gibt die URL an, die beim Absenden des Formulars verwendet werden soll. |
formenctype | Gibt den Kodierungstyp an, der beim Absenden des Formulars verwendet werden soll (z. B. application/x-www-form-urlencoded oder multipart/form-data). |
formmethod | Gibt die HTTP-Methode an, die beim Absenden des Formulars verwendet werden soll (z. B. get oder post). |
formnovalidate | Deaktiviert die Formularvalidierung des Browsers beim Absenden des Formulars. |
formtarget | Gibt das Zielfenster oder den Frame an, das/der nach dem Absenden des Formulars geöffnet werden soll. |
height | Legt die Höhe des <input type="image"-Elements fest. |
width | Legt die Breite des <input type="image">-Elements fest. |
list | Gibt die ID des <datalist>-Elements an, das mit dem <input>- oder <textarea>-Element verknüpft ist. |
min | Gibt den Mindestwert des <input>-Elements an. |
max | Gibt den Höchstwert des <input>-Elements an. |
pattern | Definiert einen regulären Ausdruck zur Validierung des Eingabefelds beim Absenden des Formulars. |
placeholder | Bietet einen kurzen Hinweis für das Eingabefeld, der nur angezeigt wird, wenn das Feld leer ist. |
required | Gibt an, ob das Eingabefeld ein Pflichtfeld ist. |
step | Gibt das gesetzliche Zahlenintervall des <input>-Elements an. |
Neue input-Typen:
<form action="/submit" method="post"> <label for="name">Name:</label> <input type="text" id="name" required /> <br> <label for="email">E-Mail-Adresse:</label> <input type="email" id="email" required /> <br> <label for="birthday">Geburtsdatum:</label> <input type="date" id="birthday" required /> <br> <label for="phone">Telefonnummer:</label> <input type="tel" id="phone" required /> <br> <input type="submit" value="Absenden" /></form>Effekt:

| Typ | Funktion |
|---|---|
| color | Zur Eingabe von Farbwerten. |
| date | Zur Eingabe von Datumswerten. |
| datetime-local | Zur Eingabe von Datums- und Zeitwerten. |
| Zur Eingabe von E-Mail-Adressen. | |
| file | Zum Hochladen von Dateien. |
| month | Zur Eingabe von Monatswerten. |
| number | Zur Eingabe von numerischen Werten. |
| range | Zur Eingabe von Bereichswerten. |
| search | Zur Eingabe von Suchzeichenfolgen. |
| tel | Zur Eingabe von Telefonnummern. |
| time | Zur Eingabe von Zeitwerten. |
| url | Zur Eingabe von URL-Adressen. |
[!Zusammenfassung]
| Element | Funktion | Empfohlen? |
|---|---|---|
| Neue Elemente | ||
<canvas> | Definiert Grafiken wie Diagramme und andere Bilder. Dieses Tag basiert auf der JavaScript-Zeichen-API. | Empfohlen |
<audio> | Definiert Audioinhalte | Empfohlen |
<video> | Definiert Videos (video oder movie) | Empfohlen |
<source> | Definiert Multimedia-Ressourcen für <video> und <audio> | Empfohlen |
<track> | Definiert Untertitel oder Übersetzungen für Audio oder Video | Empfohlen |
<datalist> | Definiert eine Optionsliste. Verwenden Sie dieses Element zusammen mit dem input-Element, um die möglichen Werte von input zu definieren. | Empfohlen |
<keygen> | Gibt ein Schlüsselpaar-Generator-Feld für ein Formular an. | Empfohlen |
<output> | Definiert verschiedene Arten von Ausgaben, wie z. B. Skriptausgaben. | Empfohlen |
<article> | Definiert einen unabhängigen Inhaltsbereich der Seite. | Empfohlen |
<aside> | Definiert den Seitenleisteninhalt der Seite. | Empfohlen |
<bdi> | Ermöglicht es Ihnen, einen Textabschnitt festzulegen, der sich von den Textrichtungseinstellungen seines übergeordneten Elements löst. | Empfohlen |
<dialog> | Definiert ein Dialogfeld. | Empfohlen |
<figure> | Definiert einen Bereich, der Bilder oder andere visuelle Inhalte enthält. | Empfohlen |
<footer> | Definiert den unteren Bereich der Seite oder eines Teils der Seite. | Empfohlen |
<header> | Definiert den oberen Bereich der Seite oder eines Teils der Seite. | Empfohlen |
<main> | Definiert den Hauptinhaltsbereich der Seite. | Empfohlen |
<mark> | Definiert wichtigen oder hervorgehobenen Text. | Empfohlen |
<meter> | Definiert Fortschritt oder Wertebereich. | Empfohlen |
<nav> | Definiert den Navigationsbereich der Seite oder eines Teils der Seite. | Empfohlen |
<progress> | Definiert eine Fortschrittsanzeige. | Empfohlen |
<time> | Definiert ein Datum oder eine Zeit. | Empfohlen |
<wbr> | Ermöglicht das Einfügen umbrechbarer Zeichen in Text. | Empfohlen |
| Veraltete oder nicht empfohlene Elemente | ||
<acronym> | Definiert ein Akronym. Es wird empfohlen, stattdessen das <abbr>-Element zu verwenden. | Empfohlen |
<applet> | Definiert ein Java-Applet. Es wird empfohlen, stattdessen JavaScript oder andere moderne Technologien zu verwenden. | Nicht empfohlen |
<basefont> | Legt die Standardschriftgröße und -farbe für den gesamten Text auf der Seite fest. Es wird empfohlen, CSS zum Festlegen von Textstilen zu verwenden. | Nicht empfohlen |
<big> | Legt die Schriftgröße von Text fest. Es wird empfohlen, CSS zum Festlegen von Textstilen zu verwenden. | Nicht empfohlen |
<center> | Erzwingt zentrierte Textausrichtung. Es wird empfohlen, CSS zum Festlegen der Textausrichtung zu verwenden. | Nicht empfohlen |
<dir> | Definiert eine Verzeichnisliste. Es wird empfohlen, stattdessen das <ul>-Element zu verwenden. | Nicht empfohlen |
<font> | Legt die Schriftgröße, Farbe, Stil usw. von Text fest. Es wird empfohlen, CSS zum Festlegen von Textstilen zu verwenden. | Nicht empfohlen |
<frame> | Definiert einen Frame. Es wird empfohlen, stattdessen das iframe-Element zu verwenden. | Nicht empfohlen |
<frameset> | Definiert ein Frameset. Es wird empfohlen, stattdessen das iframe-Element zu verwenden. | Nicht empfohlen |
<noframes> | Bietet alternativen Inhalt für Browser, die Frames nicht unterstützen. Es wird empfohlen, JavaScript zu verwenden, um zu beurteilen, ob der Browser Frames unterstützt, und den Inhalt entsprechend anzuzeigen oder auszublenden. | Nicht empfohlen |
<strike> | Legt den Durchstreichungs-Stil von Text fest. Es wird empfohlen, CSS zum Festlegen von Textstilen zu verwenden. | Nicht empfohlen |
<tt> | Legt die Festbreitenschrift von Text fest. Es wird empfohlen, CSS zum Festlegen von Textschriften zu verwenden. | Nicht empfohlen |