Sponsored Links |
|
||||
Zitat:
Eine Seiten-Navigation kann als (un)geordnete Liste in einem nav-Element stehen. Das nav-Element muss nicht (wie beispielsweise bei einem section-Element) aber kann eine Überschrift beinhalten. Diese Überschrift kann einen sinnvollen Text haben, wie: „Die Seitennavigation zeigen, verstecken.“ Wenn man „zeigen“ und „verstecken“ in Sprung-Links einbaut, hat man jetzt zwei Buttons, um eben die Navigation zu zeigen oder zu verstecken. Man kann auch alle übrigen Zeichen aus dem Satz in spans verpacken: Einmal den Teil „„Die Seitennavigation“, dann das Komma und anschließend den Punkt am Ende des Satzes. Plus die zwei Sprunglinks, hat man jetzt insgesamt fünf Elementen – es dürfte jetzt kein Problem sein, Burger und Kreuz (X) nach zu bauen und sogar zu animieren. HTML-Code:
<nav> <h2> <span>Menü</span> <a>öffnen</a> <span>,</span> <a>schliessen</a> <span>.</span> </h2> <ul> <li>...</li> </ul> </nav> Es ist ganz wenig JavaScript notwendig. Sollte im Browser die JavaScript-Unterstützung ausgeschaltet sein, kann man die Funktionalität des Menüs mit Hilfe der Pseudoklasse „::target“ umsetzen. Als Sprungziele dienen dann die Liste (ul) und die Navigation (nav) . |
Sponsored Links |
|
||||
@Emil
Danke für Deine Antwort. Ich möchte ungern im Quelltext eine Überschrift wie "Menü öffnen, schließen" verwenden. Eine meiner einfachen Richtlinie ist das Ansehen einer Seite ganz ohne CSS. Dort hat so eine Überschrift keinen Nutzen. Kennst Du eventuell ein Beispiel, wo jemand mit Pseudoelement (um extra Markup zu vermeiden) und target (um JS zu vermeiden) gearbeitet hat?
__________________
|
|
||||
Und ob sie einen Nutzen hat – sie beschreibt doch die Liste (ul).
Sie kann auch die komplette Navi (nav) beschreiben – WAI-Aria Attribute „aria-labelledby”. Zitat:
Zitat:
Aber wenn „::target“ benutzt wird, braucht es Sprunglinks. Also ganz ohne zusätzliches Markup dürfte das schwierig sein. |
|
||||
@Emil
Braucht eine Navi-Liste wirklich eine Überschrift? Die Liste steht doch bereits im Nav-Element. Das sollte doch genügen. Mir leuchtet noch nicht ein, warum Du eine Überschrift nützlich findest. OK, ich werde nach Burgerbeispielen suchen. Bisher hatte ich keines mit einer Umsetzung via Pseudoelement und target gefunden. Hätte ja sein können, dass Du eines aus dem Ärmel schüttelst
__________________
|
|
||||
Wie ich schon sagte: es muss nicht, aber es kann.
Z.B.: "Hauptnavigation" oder "Liste ähnlicher Beiträge" oder "Andere Beiträge in der Kategorie" oder "Service Navigation", usw. Edit: Semantic navigation with the nav element | HTML5 Doctor . Geändert von etux (08.03.2018 um 08:59 Uhr) |
|
|||
Acuh wenn dir wahrscheinlich keines davon passt, hier eine aktuelle Übersicht was so mit zeitgemäßem HTML/CSS/JS möglich ist.
https://freebiesupply.com/blog/css-menus/ "Colourful Flower Popup Menu" (recht weit unten) kommt zB ohne Javascript aus. |
|
||||
@cloned
Es stimmt, die Lösung "Colorful Flower" gefällt mir wegen ihres Markups nicht. Da stimmt sozusagen gar nix. Der Autor verwendet nicht einmal nth-of-child-Selektoren, sondern haut massenhaft class-Attribute raus. HTML-Code:
<nav class="menu"> <input type="checkbox" href="#" class="menu-open" name="menu-open" id="menu-open" /> <label class="menu-open-button" for="menu-open"> <span class="lines line-1"></span> <span class="lines line-2"></span> <span class="lines line-3"></span> </label> <a href="#" class="menu-item blue"> <i class="fa fa-anchor"></i> </a> <a href="#" class="menu-item green"> <i class="fa fa-coffee"></i> </a> <a href="#" class="menu-item red"> <i class="fa fa-heart"></i> </a> <a href="#" class="menu-item purple"> <i class="fa fa-microphone"></i> </a> <a href="#" class="menu-item orange"> <i class="fa fa-star"></i> </a> <a href="#" class="menu-item lightblue"> <i class="fa fa-diamond"></i> </a> </nav> Es wäre schön, wenn diejenigen, denen das völlig unwichtig ist, unsere verschiedenen Wünsche einfach stehen lassen könnten. Ich möchte darüber jedenfalls nicht diskutieren. Das führt zu nichts.
__________________
|
|
|||
Du sollst ja auch nicht das Menü 1:1 nachbauen, du sollst dir ja auch nur anschauen wie so etwas prinzipiell ohne JS funktioniert. Wie dein eigentliches "Menü" dann aufgebaut ist oder ob es in einer Liste oder wie hier nur aus einzelnen a-Tags besteht ist dann ja egal. Auch ist es irrelevant, ob du jetzt die Klassen einbaust oder lieber mit :nth-child Selektoren arbeitest.
Das war nicht dazu gedacht, dass du dir einfach den Code kopierst, aber du kannst dir ansehen, wie du das prinzipiell mit einem input Feld und dem ein- und ausblenden löst. Anpassen auf deine eigene Seite musst du es sowieso. |
Sponsored Links |
|
||||
@cloned
Es ist klar, dass ich sowas anpassen muss. Aber natürlich bevorzuge ich ein Beispiel, welches gutem Code möglichst nahe kommt. Dann kann ich mir nämlich ersparen nachzuschauen, ob für das erwähnte Beispiel das span oder i essentiell ist. Vielleicht liest hier ja noch jemand mit, dem mal eine Lösung ohne JS und ohne Extra-Markup im HTML-Dokument untergekommen ist. Ich lasse mich überraschen.
__________________
|
Sponsored Links |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
FAQ -- Häufig gestellte Fragen und häufig gegebene Antworten | mazzo | CSS | 10 | 05.04.2012 17:32 |
Navi: Eltern-Element verbreitert sich beim hover auf Kind-Element | img | CSS | 0 | 07.12.2010 18:42 |
Darstellungsproblem | flohpapa | CSS | 3 | 16.12.2009 08:55 |
IE verschiebt Navi Menü | macmensa | CSS | 7 | 17.08.2009 16:45 |
Vertikales Menü streikt im IE6 | kopfaquarium | CSS | 1 | 16.10.2007 14:45 |