Tricks und Kniffe

ID #1029

Horizontale Navigation mithilfe einer Liste

Jeder kennt sie, die einfache Liste. Normalerweise nimmt man sie nur für Aufzählungen. Man kann sie aber auch als Navigation nutzen und dabei steht einem frei ob die Liste vertikal (so wie immer) oder horizontal erscheinen soll.

Nehmen wir ein einfaches Beispiel anhand einer einfachen Liste:


Home
Sitemap
Kontakt


Als erstes sollten wir die Punkte vor jedem Link wegbekommen.
Dies erreichen wir wie folgt:


ul {
list-style-type: none;
}


Um den Rand wegzubekommen fügen wir noch


margin:0px;
padding:0px;

hinzu.

Jetzt können wir die Liste eigentlich verlinken. Das sieht dann so aus:


<li><a href="./">Home</a></li>

<li><a href="./">Sitemap</a></li>

<li><a href="./">Kontakt</a></li>



Wenn wir uns die Seite im Browser angucken finden wir 2 normale Links die untereinander angeordnet sind.

Jetzt kommt aber der wirkliche Spannende Teil. Die Formatierung:

ul {
list-style-type: none;
margin:0px;
padding:0px;
}
ul li {
padding:1px;
}
ul li a {
display:block;
width:70px;
color:black;
text-decoration: none;
padding:4px;
}
ul li a:link, ul li a:active {
border:1px solid black;
}
ul li a:hover {
background:red;
}

ist der vollständige Code. Nehmen wir die einzelnen Teile mal auseinander:

ul li {
padding:1px;
}

gibt an, dass die Listenpunkte an jeder der 4 Seiten 1 Pixel Abstand haben sollen.
Wenn man in diesem Fall einfach 0px angibt, dann stoßen die Seiten der Listenelemente aneinander.

ul li a {
display:block;
width:70px;
color:black;
text-decoration: none;
padding:4px;
}

formatiert den Link. Es gibt an, dass das Listenelement, in dem der Link drin ist, genau 70px breit sein soll.
Der Link hat eine schwarze Farbe und keine Unterstreichung. Ausserdem wird durch dieses padding:4px; erreicht, dass der Rand des Links immer 4px an allen Seiten vom Inhalt entfernt ist.


ul li a:link, ul li a:active {
border:1px solid black;
}

gibt an, dass der gesamte Link (dessen Breite wie vorher definiert 70px beträgt) einen 1px dicken schwarzen Rand erhält.


ul li a:hover {
background:red;
}

sorgt dafür, dass der Link rot hinterlegt wird wenn man mit der Maus drüber fährt.

Wenn man das Grundprinzip erstmal verstanden hat, dann ist es ganz einfach, eine ordentliche Navigation hinzubekommen, die zwar auf einer Liste basiert, aber nicht mehr so aussieht.

Tags: -

Verwandte Artikel:

Letzte Änderung des Artikels: 2004-02-19 14:10
Autor: Dominik Hahn
Revision: 1.0

Digg it! Share on Facebook Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieses Artikels:

Durchschnittliche Bewertung: 3 (8 Abstimmungen)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Kommentieren nicht möglich

Kommentar von Philipp:
Hallo!

Dies ist leider keine \"horizontale\" Navigation, sondern eine vertikale. Bei einer horizontalen Navigation müssten meiner Auffassung nach alle Punkte nebeneinander (und nicht untereinander) erscheinen...

Philipp
Added at: 2038-01-19 04:14

Kommentar von Dumm:
Und wie geht ein HORIZONTALES Menü?

Grüße

Nur zur Info:

Home - News - Bla bla

ist HORIZONTAL
Added at: 2038-01-19 04:14

Kommentar von susanne:
@Dumm, ... ich denke mal, hier liegt ein Mißverständnis vor ;) der User: Philipp orientierte sich hier (als er von "nicht horizontal, sondern vertikal" sprach) nicht an den eigentlichen Ausführungen, sondern am einleitenden Teil der selben ^^ sieh ganz oben --------------------------- Nehmen wir ein einfaches Beispiel anhand einer einfachen Liste: Home Sitemap Kontakt --------------------------- lg susi
Added at: 2009-08-31 04:08