2012-03-28 10 views
0

Ich versuche, eine Menüleiste mit 2 Ebenen von Menüs zu erstellen. Das oberste Menü ist das wichtigste. Dann hat die zweite Ebene darunter einige Unterkategorien. Jetzt müssen Sie zuerst auf das Hauptmenü klicken und diese Seite laden, um die Unterkategorie-Menüelemente für diesen Abschnitt anzuzeigen, da sie nur fest in die Seite codiert sind. Ich möchte es so machen, dass, wenn Sie den Mauszeiger über die Hauptmenüpunkte bewegen, das Untermenü geladen wird.Menüleiste mit Hover-Unterkategorien?

Here is a jsFiddle of the navigation area and CSS

Here are a couple of screenshots of what it looks like

Was würde das meine beste Methode zur Erfüllung sein. Ich bin nicht der Erfahrenste, aber ich verstand HTML und CSS sehr gut. Jede Hilfe in die richtige Richtung wäre großartig. Vielen Dank.

Antwort

2

ich diese Art von Menü in der Vergangenheit gemacht habe, habe ich eine Kopie des Codes erstellt haben, können Sie hier http://jsfiddle.net/PWFGd/24/

Die Eigenschaft, die Sie verwenden möchten, finden ist:

selector{ 
    display: none; 
} 

selector:hover{ 
    display: block; 
} 

Hoffnung es hilft.

Aymeric.

+0

ich von Art bekam es funktionierte aus, aber habe ein paar Fragen. Erstens ist es möglich, das Untermenü ganz links zu starten? Siehe das Bild. [http://i.imgur.com/XUFKb.png](http://i.imgur.com/XUFKb.png] Auch kann ich nicht scheinen, meine Schriftart zu ändern, wie der auf on oben. Wo gebe ich die Schriftart ein? Ich habe es an verschiedenen logischen Stellen versucht, aber es scheint sich nicht zu ändern. Danke! – JakeIC

+0

Gibt es auch eine Möglichkeit, einen der Menüpunkte vorauszuwählen? Wenn du also nicht darüber schwebst, wird der Standard angezeigt? – JakeIC

+0

Um es von links zu starten, können Sie dieser Eigenschaft einen negativen linken Rand hinzufügen => '#menu li ul', es gibt sicherlich einen anderen Weg, aber ich habe diesen Code schon vor langer Zeit gemacht. Ich kann mich nicht wirklich an alle Details erinnern . In Bezug auf die Schriftart müssen Sie es hier ändern => '#menu ul li.menu' Aber ich empfehle Ihnen auch,' #menu ul li.menu' durch '#menu ul li.menu, #menu ul li a 'Auch wenn Sie kein Untermenü haben, wird Ihr Hauptmenü gleich aussehen. – Aymeric

0

Sie können einen allgemeinen Geschwisterkombinator (~) mit Ihrer aktuellen Struktur verwenden, um so etwas zu erreichen. Verwenden Sie das Pseudoelement , um den Anzeigezustand (oder die Sichtbarkeit) des Untermenüs umzuschalten.

http://jsfiddle.net/PWFGd/25/

/* on hover of mainmenu, find subnav and show it */ 
.mainMenu:hover ~ ul.subNav { 
    display: block; 
} 

ul.subNav{ 
    display: none; /* hide submenu */ 
    font:normal 11px/12px Arial, Helvetica, sans-serif; 
    padding:4px 0 0 0; 
} 

Es gibt viele Beispiele auf dem Netz von CSS-basierten Navigationsmenüs. Ich denke, dass Sie vielleicht Ihre HTML-Struktur überdenken und eines von denen verwenden sollten. Google