Navigationsleiste
++++
Der folgende Code und die zugehörige Abbildung zeigen eine horizontale Navigationsleiste aus Text-Hyperlinks ( ... ):
{{:inf:web:ik-08-1.jpg?700|}}
* Text-Navigationsleisten, die dynamisch auf die Mausaktionen des Benutzers (Zeigen, Klicken) reagieren;
* unterschiedliche Button-Navigationsleisten, wahlweise auch mit Reaktion auf die Mausaktionen des Benutzers.
Der Vorteil dieser Technik ist, dass solche Navigationselemente schnell geladen werden können und immer funktionieren - selbst in nicht CSS-fähigen oder Nur-Text-Browsern. Dort werden sie als Aneinanderreihung normaler Hyperlinks dargestellt.
==== Text-Navigationsleisten mit CSS gestalten ====
Die einfachste Möglichkeit, das Aussehen und die Reaktion der oben gezeigten Text-Navigationsleiste textnavigation.htmlzu verbessern, sind die Pseudoklassen ''a:link, a:visited, a:hover'' und ''a:active''. Mit diesen können Sie das Aussehen von Text-Hyperlinks während bestimmter und nach bestimmten Mausaktionen des Anwenders ändern, also sogenannte Mouseover-Effekte erzeugen:
Pseudoklassen ermöglichen die CSS-Formatierung von HTML-Elementen, die sich nicht durch ein eindeutiges HTML-Tag ausdrücken lassen. Grundsätzlich geben Sie zuerst das jeweilige Element an, im Beispiel das Tag für einen Hyperlink. Anschließend notieren Sie einen Doppelpunkt und eine definierte Angabe wie etwa link für einen noch nicht besuchten Hyperlink. Das Aussehen der Pseudoklassen legen Sie wie gewohnt mit-hilfe von CSS-Eigenschaften fest.
{{:inf:web:ik-09-1.jpg?700|}}
Achten Sie darauf, bei der Definition der a-Pseudoklassen die in der Tabelle gezeigte Reihenfolge einzuhalten, damit sich die Angaben nicht gegenseitig außer Kraft setzen.
**Beispiel: Text-Navigationsleiste mit Mouseover-Effekten**
++++ Quelltext |
Menüleiste
++++
Im folgenden Beispiel versehen Sie die zuvor erzeugte einfache Text-Navigationsleiste mit Mouseover-Effekten, sodass sie optisch auf die Aktionen des Benutzers reagiert.
* Öffnen Sie die Beispieldatei textnavigation.html.
* Geben Sie innerhalb des Tagpaars '' ... '' den nachfolgenden Code ein.\\ Zu Übungszwecken legen Sie die CSS-Stildefinitionen damit in einem eingebetteten Stylesheet fest.
*
In der Praxis würden Sie statt eines eingebetteten eher ein externes Stylesheet erstellen und im Seitenkopf der einzelnen HTML-Seiten darauf verweisen. Dann könnten Sie bei Bedarf alle Navigationsleisten der Webseiten, in denen auf das externe Stylesheet verwiesen wird, gleichzeitig neu formatieren. Sie müssten dazu nur die Stildefinitionen in der externen Stylesheet-Datei abändern.
{{:inf:web:ik-09-2.jpg?700|}}
{{:inf:web:ik-10-1.jpg?700|}}
==== Button-Navigationsleisten mit CSS gestalten ====
Die einfache Text-Navigationsleiste im Beispiel textnavigation.html kann mit CSS so formatiert werden, dass die einzelnen Hyperlinks das Aussehen von dreidimensionalen Buttons annehmen. Auch dazu verwenden Sie die Pseudoklassen ''a:link, a:visited, a:hover'' und ''a:active''.
**Beispiel: Button-Navigationsleiste**
++++ Quelltext |
Navigationsleiste
++++
Im folgenden Beispiel versehen Sie die verschiedenen Hyperlink-Zustände der einfachen Text-Navigationsleiste textnavigation.html mit unterschiedlichen Füllungen und Rahmenfarben, sodass sie wie grafische Buttons aussehen, die beim Anklicken eingedrückt erscheinen und ansonsten hervortreten.
* Öffnen Sie die Beispieldatei textnavigation.html.
* Löschen Sie die senkrechten Striche (|) zwischen den einzelnen Hyperlinks.
* Geben Sie innerhalb des Tagpaars '' ... '' den nachfolgenden Code ein.
{{:inf:web:ik-10-2.jpg?700|}}
{{:inf:web:ik-11-1.jpg?700|}}
==== Button-Navigationsleisten mit CSS und Bilddateien gestalten ====
Bei Bedarf können Sie die zuvor gezeigte Technik zur Gestaltung von Button-Navigationsleisten mit CSS durch Bilder ergänzen. Dadurch ergeben sich weitere Gestaltungsmöglichkeiten, beispielsweise mit Farbverläufen oder Texturen.
Auch hier gilt: Kann das Bild aus irgendeinem Grund nicht geladen werden, schadet dies der Funktionalität der Navigationsleiste nicht.
**Beispiel: Button-Navigationsleiste mit Hintergrundbild**
++++ Quelltext |
Navigationsleiste
++++
Im folgenden Beispiel erhalten die als Buttons dargestellten Hyperlinks beim Hovern ein Hintergrundbild mit einem radialen Farbverlauf.
* Speichern Sie die Beispieldatei ''3d-navigation.html'' aus dem vorigen Beispiel und die Beispieldatei burst.jpg {{:inf:web:burst.jpg}} in demselben Ordner.
* Öffnen Sie die Datei ''3d-navigation.html''
* Ändern Sie die Definition der Pseudoklasse ''a:hover'' folgendermaßen ab:
{{:inf:web:ik-11-2.jpg?700|}}
{{:inf:web:ik-12-1.jpg?700|}}
\\ \\
===== Navigationsmenüs erstellen =====
{{:inf:web:ik-12-2.jpg?500|}}
Nicht nur Navigationsleisten, sondern auch mehrstufige Navigationsmenüs lassen sich in HTML strukturieren und mit CSS gestalten.
Durch diese Möglichkeit können Sie völlig auf JavaScript, Flash und sonstige Technologien verzichten, die häufig zur Erstellung von Navigationsmenüs verwendet werden. Sie stellen damit sicher, dass Ihre Navigationsmenüs sowohl von Suchmaschinen als auch von den alternativen Ausgabegeräten und von Nur-Text-Browsern problemlos ausgewertet werden können.
==== Die HTML-Struktur eines Navigationsmenüs erstellen ====
Als Grundlage für das Navigationsmenü bietet sich eine unsortierte HTML-Liste an.
**Beispiel: HTML-Menüstruktur**
++++ Quelltext |
Navigationsmenü
++++
{{:inf:web:ik-12-3.jpg?700|}}
{{:inf:web:ik-13-1.jpg?700|}}
Von der inhaltlichen Seite her ist das Navigationsmenü fertig. Es funktioniert in allen Browsern und mit sämtlichen alternativen Ausgabegeräten. Sie können sich jetzt mit der Anordnung der Menüpunkte und danach mit der Gestaltung beschäftigen.
==== Das Navigationsmenü mit CSS anordnen ====
Für die Anordnung der Menüpunkte verwenden Sie CSS.
**Beispiel: CSS-Menüanordnung**
++++ Quelltext |
Navigationsmenü
++++
Zuerst entfernen Sie die Listenpunkte vor den einzelnen Elementen und definieren Schrift und Positionierung. Mit der Positionierung ordnen Sie die Liste in Menüform an. Erstellen Sie dazu im head-Bereich die folgende CSS-Regel:
{{:inf:web:ik-13-2.jpg?700|}}
{{:inf:web:ik-14-1.jpg?700|}}
Ohne weitere Angaben werden HTML-Elemente im Browser in der Reihenfolge, wie sie im Quelltext auftauchen, angezeigt. Mit der CSS-Eigenschaft ''float'' können Sie Elemente jedoch von Text umfließen lassen.
Mit ''float:left'' steht das Element links und wird rechts umflossen. Detaillierte Informationen über ''float'' erhalten Sie in Abschnitt 2.
Enthält Ihr Navigationsmenü längere Einträge, erhöhen Sie den Wert ''10em'' entsprechend.
{{:inf:web:ik-14-2.jpg?700|}}
==== Das Navigationsmenü mit CSS gestalten ====
Bisher gefällt das Navigationsmenü sicherlich nur absoluten Design-Puristen. Sie haben aber alle von CSS gebotenen Gestaltungsmöglichkeiten, sodass das fertige Navigationsmenü zum Design Ihres Webauftritts passt.
**Beispiel: CSS-Menügestaltung**
++++ Quelltext |
Barrierefreies Menü
++++
{{:inf:web:ik-15-1.jpg?700|}}
{{:inf:web:ik-15-2.jpg?700|}}
{{:inf:web:ik-16-1.jpg?700|}}
==== Das horizontale Navigationsmenü mit CSS vertikal ausrichten ====
Ungefähr genauso häufig wie ein horizontales benötigen Sie ein vertikales Menü. Da in der vorliegenden Lösung Inhalt und Gestaltung strikt voneinander getrennt sind, lässt sich das horizontale mit wenigen Handgriffen in ein vertikales Navigationsmenü konvertieren.
**Beispiel: Navigationsmenü mit CSS vertikal ausrichten**
++++ Quelltext |
Barrierefreies Navigationsmenü
++++
{{:inf:web:ik-16-2.jpg?700|}}
{{:inf:web:ik-17-1.jpg?700|}}
\\ \\
===== Imagemaps =====
==== Was sind Imagemaps? ====
Als Imagemaps werden Grafiken bezeichnet, in denen bestimmte Bereiche, sogenannte Hotspots, mit einem Hyperlink belegt sind. Diese Bereiche können rechteckig, rund oder polygonförmig (vieleckig) sein. Der Benutzer erkennt den Hyperlink am veränderten Mauszeiger, wenn er den Mauszeiger über das Bild bewegt.
==== Imagemaps verwenden ====
Oft werden Land- bzw. Regionalkarten als Imagemaps angeboten. Der Besucher klickt beispielsweise auf eine Region, und die damit verbundene Seite wird geöffnet.
{{:inf:web:ik-17-2.jpg?200|}}
Früher waren Imagemaps als Navigationselemente äußerst beliebt. Man setzte auf grafisch aufwendig gestaltete Designs und machte sich noch nicht viele Gedanken über die Barrierefreiheit der Seiten. In der heutigen Zeit werden Imagemaps kritisch gesehen, denn sie können nicht von allen alternativen Ausgabegeräten interpretiert werden. Zwar können Sie die Hotspots für eine bessere Zugänglichkeit für die alternativen Ausgabegeräte mit Alternativtexten versehen, doch kommen Textbrowser wie Lynx mit einer herkömmlichen Imagemap nicht klar. Dies ist immer ein deutliches Anzeichen dafür, dass die Seite auch für einige alternative Ausgabegeräte nicht zugänglich sein wird. Aus diesem Grund sollten Sie Imagemaps möglichst nur als alternative Navigationsmöglichkeit zu einer barrierefreien Hauptnavigation verwenden.
==== Imagemaps erzeugen ====
Sie können Imagemaps aus beliebigen Webgrafiken erzeugen. Die als Imagemap dienende Grafik wird wie ein "normales" Bild mit dem Tag ''img'' angegeben. Allerdings versehen Sie das Tag ''img'' mit dem Attribut
''usemap''.
**Beispiel: Imagemap mit runden Hotspots**
++++ Quelltext |
Imagemap
++++
{{:inf:web:schaubild.gif?100}}
{{:inf:web:ik-18-1.jpg?700|}}
{{:inf:web:ik-18-2.jpg?700|}}
{{:inf:web:ik-18-3.jpg?700|}}
Die benötigten Koordinaten finden Sie am besten heraus, wenn Sie die Grafik in einem Programm wie etwa Adobe Photoshop öffnen. Wenn Sie mit der Maus über die Grafik fahren, zeigt das Info-Bedienfeld Ihnen die Koordinaten des gerade überfahrenen Bereichs an. Außer Photoshop sind auch Freeware-Programme wie etwa The Gimp geeignet.
Achten Sie darauf, auch bei ''-Tags
Hier wird die Seite ''index-neu.html'' nach 15 Sekunden geladen.
Die meisten Suchmaschinen indizieren keine Seiten, deren ref resh-Wert kleiner als fünf Sekunden ist.
In der Praxis wird diese Technik auch verwendet, um auf die aktuelle Seite weiterzuleiten, diese also zu aktualisieren. So stellen Sie sicher, dass häufig aktualisierte Informationen tatsächlich immer aktuell sind und nicht etwa aus dem Browser-Cache geholt werden.