suit: Navigationsproblem

Beitrag lesen

Die hmtl Struktur sieht wie folgt aus:

<div class="nav">

warum ist das kein nav-Element?

<ul>
<li class="noline">
<div class="untermenu_a">

Wozu ist das div-Element da?

<ul>
<li>Menupunkt 1</li>
<li>Menupunkt 1</li>
<li>Menupunkt 1</li>
</ul>
</div>
</li>
</ul>
</div>


>   
> Jetzt habe ich eine Klasse (.nav li a:hover{} ) die soweit funktioniert, dass sie die Hintergrundfarbe der einzelnen Unterpunkte des Menüs farbig ändert.  
  
ich sehe keine a-Elemente  
  

> Was mir jetzt noch nicht gelingt, ist die Verkettung mit einer anderen Klasse. Diese habe ich wie folgt definiert:  
>   
> `.navsub{display:none}`{:.language-css}  
  
Elemente dieser Klasse sehe ich nicht - was soll der Selektor bewirken?  
  

> Was ich gerne hätte, ist das bei Mouseover der ersten Klasse die Klasse .navsub sichtbar wird. Ich hatte mir das wie folgt gedacht:  
> ~~~css

.nav li a:hover#navsub{ display:block; }  
  
Jetzt ist plötzlich eine ID?  
  

> .nav li a:hover.navsub{ display:block; }

~~~ beide Varianten funktionieren aber nicht.  
  
Ja, es gibt kein Element mit der Klasse oder ID nachsub - und schon garnicht in einem a-Element  
  

> Kann man das so in der Art lösen?  
  
Also dein Code von oben mal etwas aufgeräumt sollte so aussehen  
  
~~~html
  
<nav>  
	<ul>  
		<li>  
			<a>1</a>  
			<ul>  
				<li>  
					<a>1.1</a>  
					<a>1.2</a>  
					<a>1.3</a>  
				</li>  
			</ul>  
		</li>  
		<li>  
			<a>2</a>  
			<ul>  
				<li>  
					<a>2.1</a>  
					<a>2.2</a>  
					<a>2.3</a>  
				</li>  
			</ul>  
		</li>  
	</ul>  
</nav>  

Die Untermenüs blendest du aus, indem du alle ul-Elemente ausblendest, die sich in li-Elementen befinden

nav li ul { display: none; }

Hat man hingegen grade ein li-Element mit dem Cursor im Visier, blenderst du dieses entsprechend wieder ein.

nav li:hover ul { display: block; }

Guckst du hier: <http://de.selfhtml.org/css/layouts/navigationsleisten.htm#modern@title=Dynamische CSS-Navigation für moderne Browser>