Interaktive Elemente

Es gibt in HTML die interaktiven Elemente:

Dialog

siehe auch Wiki

Ein dialog Element ist eine Infobox oder Eingabebox, die über dem kompletten Inhalt der Seite eingeblendet werden kann. Der Rest der Seite kann mittels dem CSS Selektor ::backdrop mit einer (halbtransparenten) Hintergrundfarbe versehen werden. So ein Fenter nennt man dann Modal.

Das Öffnen und Schließen des Dialog- Fensters kann man mit Javascript oder mit CSS programmieren. Die CSS Methode führt dazu, dass das Dialog Fenster nicht wie ein Modal über der gesamten Seite plaziert wird.

Wenn ein Dialog Element mit dem alleinstehenden Attribut open versehen wurde, ist es beim Laden der Seite eingeblendet, ansonsten ausgeblendet.

<dialog open>Mein Dialog</dialog>

Im folgenden Beispiel wird ein Dialog mit Buttons ein- und ausgeblendet. Die Programmierung erfolgt mit Javascript. Die Javascript Befehle zum ein und ausblenden sind:

dialog.show();
dialog.showModal();
dialog.close();
    

Mittels showModal() verhält sich das Fenster wie ein Modal. Es liegt mittig über allen Elementen, und bedeckt den Rest der Seite mit einer (halbtransparenten) Farbe.

Man kann das erste dialog Element der Seite folgendermaßen ansprechen:

document.getElementsByTagName('dialog')[0]

Oder man man vergibt dem Element eine id <dialog id="myDialog"> und spricht es über die id an:

document.getElementById('myDialog')

Der Button zum Öffnen des Dialogs hat folgendes Javascript:

<button onClick="document.getElementsByTagName('dialog')[0].showModal()">Open</button>

Der Button zum Schließen ruft folgendes Javascript auf:

<button onClick="document.getElementsByTagName('dialog')[0].close()">Close</button>

Beispiel

Hier noch ein weiteres Javascript Beispiel

Siehe auch CSS Selektor ::backdrop und das Beispiel

CSS

siehe auch Wiki

Die Farbe des Hintergrundes kann man mit CSS folgendermaßen definieren:

dialog::backdrop { 
	background: rgba(0,0,0,0.6); 
}	

Mit CSS das Dialogfeld einblenden (unvorteilhaft)

Im folgendem Beispiel wird das dialog Element mit CSS ein und ausgeblendet. Allerdings liegt hierbei das Dialog-Fenster nicht über dem Inhalt der Seite sondern im Textfluss. Es erscheint auch kein halbtransparenter Hintergrund, der die eigentliche Seite überdeckt. Man könnte zwar das Dialog- Element mit CSS absolut positionieren, aber das könnte man auch mit jedem anderen Element machen. Dafür braucht man kein Dialog Element.

Beispiel mit CSS

details / summary

details bietet eine anklickbare Infobox, wie man sie von Blogs kennt oder von aufklappbaren Navigationsmenüs.

Zuerst erscheint nur der Inhalt von summary mit einem Pfeil. Nach Anklicken erscheint der Rest von details.

Es ist die Überschrift für summary. Der Inhalt erscheint, wenn man darauf klickt.

Das im details enthaltene summary Element zeigt durch Anklicken, den gesamten Inhalt von details an.

<details>

	<summary>
	mehr lesen...
	</summary>

	Der eignetlich Inhalt von details.
</details>
		

Beispiel

Navigationsbeispiel

Data Dash Attribute

siehe auch

Man kann in HTML5 eigene Attribute erzeugen. Das sind zwar keine interaktiven Elemente, aber man kann sie für Javascript nutzen.

Wenn man ein bestimmtes Attribut braucht, das es in HTML5 nicht gibt, kann man so ein data-dash Attribut erzeugen.

Es beginnt immer mit data. Dann folgt ein Bindestrich und ein selbst vergebener Name.
data-band, data-food.

In Javascript gibt es ein spezielle Methode, um auf so ein Datadash Attribut zuzugreifen:

document.getElementById("queen").dataset("band");

Attribute, die es schon gibt, sollte man nicht durch ein Datadash Attribut ersetzen.