# Navigation mit Unterpunkten, die erst bei "hover" erscheinen



## cssanfaenger (28. Januar 2012)

Hallo zusammen,

wie ihr seht, bin ich (was CSS angeht) noch ein blutiger Anfänger. Ich möchte gerade eine Website erstellen, bei der die Hauptpunkte der Navigation von links nach rechts geht und die Unterpunkte von oben nach unten. Mein Problem ist jetzt, dass ich es nicht schaffe, dass die Unterpunkte erst dann sichtbar sind, wenn man mit der Maus über einen Hauptpunkt fährt. Könnt ihr euch mal angucken, was ich dazu geschrieben habe, und mir den Fehler nennen? Mit "display: none" habe ich die Unterpunkte ausgeblendet. Doch wenn ich bei "hover" dann "display: block" eingebe, erscheinen die Unterpunkte trotzdem nicht. Was mache ich falsch?


```
#mainnav
    	{
        width: 100%;
        font-size: 150%;
    	}
      
    	#mainnav ul
    	{
	      margin: 0 0 0 0px;
		    padding: 0;
		    list-style-type: none;
    	}
      
      #mainnav ul li
    	{
	    	display: inline;
	      margin: 0 0 0 0px;
        background-image: url(test3.gif);
        background-size: 100% 100%;
    	}
      
      #mainnav ul li a
    	{
		    text-decoration: none;
		    color: black;
        margin: 0 20 0 20px;
	    }
      
      #mainnav ul li:hover
    	{
        background-image: url(test2.gif);
        background-size: 100% 100%;
    	}
      
      #mainnav ul li a:hover
	{
	   text-decoration: none;
	   color: white;
        }

    	#mainnav ul li ul
    	{
	      margin: 0 0 0 0px;
		    padding: 0;
		    list-style-type: none;
		    display: none;
    	}
      
      #mainnav ul li ul li
    	{
	    	display: inline;
	      margin: 0 0 0 0px;
        background-image: url(test1.gif);
        background-size: 100% 100%;
    	}
      
      #mainnav ul li ul li a
    	{
		    text-decoration: none;
		    color: black;
        margin: 0 20 0 20px;
	    }
      
      #mainnav ul li ul li:hover
    	{
        background-image: url(test2.gif);
        background-size: 100% 100%;
	display: block; /* DIESE ZEILE MÜSSTE DOCH BEWIRKEN, DASS DIE UNTERNAVIGATION (wenn man mit der Maus darübergeht) ANGEZEIGT WIRD, WARUM GEHT DAS NICHT? */
    	}
      
      #mainnav ul li ul li a:hover
	{
	   text-decoration: none;
	   color: white;
        }
```

Vielen Dank im Voraus für eure Hilfe!


----------



## CPoly (28. Januar 2012)

Vom kurzem drüber scrollen würde ich sagen, da liegt der Fehler:


```
/*Vorher*/
#mainnav ul li ul li:hover

/*Nachher*/
#mainnav ul li:hover ul
```

Denn ein Element, das unsichtbar ist, kann auch kein ":hover" haben.

Falls das nicht hilft, dann bitte auch das Markup zeigen.


----------



## cssanfaenger (28. Januar 2012)

Danke! Das war der Fehler. Jetzt habe ich nur noch das Problem, dass, wenn ich über den ersten Punkt gehe, der zweite, dritte usw. Punkt unter den Unterpunkten des ersten Punkts angezeigt werden (und nicht neben dem ersten Punkt).


----------



## CPoly (28. Januar 2012)

Da hilft dir display:block und float:left weiter http://dabblet.com/gist/1695335


----------

