Wie man Dropdown-Menü mit :hover auf <a> an Stelle von bewegen Sie den Mauszeiger auf <ul>?
IE 6 nur unterstützt :Hover auf <a>
dann können wir im css-drop-down mit :hover auf <a>
http://htmldog.com/articles/suckerfish/dropdowns/
Diesem Beispiel verwendet JavaScript, um hinzuzufügen, bewegen Sie den Mauszeiger auf LI
'sfhover' Klasse zum li-Elemente in der
'nav' id hatte ul-element, wenn Sie
'moused über' und entfernt es, mit einem
regulärer Ausdruck, wenn 'moused out".So, jetzt haben wir das Suckerfish
das Abpumpen neuen Klassen, ist der nächste Schritt
einfach duplizieren Sie die :hover
der Selektor mit 'sfhover' Klasse
Selektoren:
- Können Sie formulieren diese? Ich bin mir nicht sicher, was deine Frage ist.
- Bitte formulieren.
- Bearbeiten können Sie Ihre Frage zu klären, Ihre position über javascript und vielleicht erklären Sie Ihre Gründe für die Vermeidung einer javascript-Lösung?
- Auch, IE6 gilt nicht für die :hover-Attributen, die auf Elemente innerhalb eines <a> Anker-tag. Also, wenn du hast <a><span/></span>, IE6 wird nicht gehorchen den CSS-Stil für a:hover span{}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Art damit es funktioniert. Der code unten zeigt ein funktionales Menü, das sich auf
a:hover
zu trigger-Anzeige. Jedoch, es kommt mit ein paar Vorsichtsmaßnahmen:<a />
tags in HTML oder XHTML, Sie beschränkt sich auf eine einzelne Ebene der Menüpunkte.onclick
event-Handler zum verarbeiten von Benutzer Klicks auf Menüpunkte.:hover
Regel auf das Anker-tag selbst, um hover-trigger-Verhalten. Ohne die#menu:hover
Regel, die#menu:hover span
wurde ignoriert. Die Regel muss mindestens eine Stil-Zuordnung, und nicht alle Eigenschaften, die zu funktionieren scheinen (z.B.background-color
oderborder
gearbeitet, abercolor
nicht).Code:
UPDATE:
IE6 macht Art von Arbeit mit verschachtelten
<a />
Elemente. Ich habe versucht, die Einbettung des Links in ein Untermenü, und es richtig angezeigt aber der Mauszeiger über die innere Verknüpfung verursacht, die die äußeren Glied zu verlieren:hover
, und das Menü verschwindet unter dem cursor.Jedoch offenbar, wenn Sie wickeln Sie das Menü in einer Tabelle (wie gezeigt hier), wird es funktionieren. Beachten Sie, dass der untenstehende code funktioniert, aber nicht Valide und könnte sprengen, in anderen Browsern:
:hover
. Anscheinend wickeln Sie das Menü in einer Tabelle behebt, dass. Schrecklich nicht-standard, aber wenn Sie kümmern sich nicht um die Validierung dann denke ich, dass es funktionieren wird. Meine Antwort wurde aktualisiert und mit einer Erläuterung und Beispiel.<ul />
innerhalb der top-level-Menü anchor-element, aber alle anderen Browser sehen einen nicht gewickelten<ul />
neben das anchor-element.Ja, können Sie, solange Sie das nest das sub-Menü in der Anker.
Ich noch nicht getestet für den IE6, aber das ist die Grundidee hinter dem ganzen css-Menü in jedem anderen browser. Nicht sicher, ob man nest Anker oder nicht.
div
innerhalb einera
tag.Versuchen ie7-js.
Javascript ist absolut nicht eine option, können Sie eines der vielen Beispiele von nur CSS dropdown-Menüs, wie Der ULTIMATE CSS drop-down-Menü von Stu Nicholls.
Meiner Meinung nach, macht der IE6 Verhalten sich alle rund um die via js ist vorzuziehen, css-hacks, die umgesetzt werden müssen, für jedes feature fehlt.