Menu mit Submenu - Accessible List
Richtig verschachtelte Listen haben oberste Priorität im Barrierefeien Webdesign. Mit simplen Listen und CSS können radikal verschiedene Listen-Looks kreiert werden.
Menu in neuem Fenster ansehen.
1. HTML erstellen
Als Grundlage und Struktur dient für dieses Beispiel eine einfach verschachtelte HTML-Liste.
<ul> <li><a href="#">Gadgets</a> <ul> <li><a href="#">Bags</a></li> <li><a href="#">Shoes</a></li> <li><a href="#">Accessoires</a></li> </ul> </li> <li><a href="#">Projects</a> <ul> <li><a href="#">Art</a></li> <li><a href="#">CSS</a></li> <li><a href="#">Websites </a></li> </ul> </li> </ul>
2. CSS für die Liste
Die Hauptlistenpunkte li
haben float:left
, bei den Unterlisten wird das float:left
aufgehoben, so dass diese wieder untereinder dargestellt werden.
nav ul { float: left; list-style-type: none; margin: 0; padding: 0; } nav li { width: 120px; float: left; padding: 0; margin: 0 3px 0 0; } nav li li { float: none;}
2. CSS für die Links
Hier ist die Freiheit grenzenlos. Die Links können sehr einfach mit Hintergundbildern, Tranparenz etc. erweitert werden.
Alle Links können vom Kontext #navi li
abhängig gemacht werden. display:block
macht aus den Inline-Element Link ein Block-Element.
nav a { display:block; text-decoration: none; font-size: 1.3em; color:#fff; background-color: #999; border:1px solid #777; padding: 3px 10px; margin: 0 0 3px; }
Für die Sublinks und den a:hover
müssen nur noch die Änderungen definiert werden.
nav a:hover { color:#564b47; background-color: #ddd; } nav li li a { font-size: 1em; color:#564b47; background-color: #eee; border:1px solid #ccc; }
3. Clear
Zuletzt kommt der clear, damit wird das float
wieder aufgehoben. Das ist wichtg weil float
vererbt wird, float
und clear
gehören immer zusammen.
.clr{ clear:left; }
Oder mit CSS3 Pseudoselektor
nav:after { height: 0; content: "."; display: block; clear: both; visibility: hidden; }