Interaktivität¶
details und summary¶
Erstellt ein ein-/ausklappbares Feld, ideal für FAQs oder Zusatzinformationen.
<details>
<summary>Was ist HTML?</summary>
<p>HTML ist die Auszeichnungssprache für Webseiten.</p>
</details>
<details>
<summary>Wer ist Tim Berners Lee?</summary>
<p>Tim Berners Lee hat HTML erfunden.</p>
</details>
Was ist HTML?
HTML ist die Auszeichnungssprache für Webseiten.
Wer ist Tim Berners Lee?
Tim Berners Lee hat HTML erfunden.
<summary>ist die Überschrift, die immer sichtbar bleibt.<details>enthält den einklappbaren Inhalt.Browser zeigen automatisch ein kleines ► / ▼ Symbol an.
Funktioniert ohne JavaScript.
datalist¶
Mit <datalist> kann man Eingabefelder um praktische Vorschlagslisten erweitern. Man tippt etwas in ein Textfeld ein – und der Browser zeigt einem passende Vorschläge an, aus denen man auswählen kannt.
Die Eingabe bleibt aber komplett flexibel: Man kannt einen Vorschlag anklicken, musst es aber nicht. Der Vorteil ist, dass Nutzerinnen und Nutzern eine Orientierung gegeben wird, ohne sie auf feste Vorgaben zu beschränken.
Hier bekommt das <input>-Feld durch das list-Attribut eine Verbindung zur <datalist> mit der passenden id. Der Browser zeigt dann beim Tippen die Vorschläge aus den <option>-Elementen an:
<label for="farbe">Programmiersprache:</label>
<input id="farbe" list="sprachen" placeholder="Programmiersprache eingeben" />
<datalist id="sprachen">
<option value="Python"></option>
<option value="JavaScript"></option>
<option value="C#"></option>
<option value="C++"></option>
</datalist>
contenteditable¶
Mit contenteditable kann man jedes HTML-Element direkt im Browser editierbar machen, ähnlich wie ein Textfeld. Änderungen werden nicht automatisch gespeichert.
<p contenteditable="true">Du kannst diesen Text jetzt bearbeiten.</p>
Du kannst diesen Text jetzt bearbeiten.
data-*-Attribute¶
Mit data-*-Attributen kannt man eigene Daten an HTML-Elemente anhängen. Sie dienen als kleine Datenspeicher, die andere Sprachen nutzen können – ohne die Darstellung zu beeinflussen.
<div id="user" data-id="42" data-role="admin">Max Mustermann</div>