Voor een navigatie heb ik de volgende code
Deze code is onveranderlijk, aangezien deze door een CMS wordt uitgespuugd. Ik heb geen controle over de HTML die ik kan gebruiken.
Nou wil ik dit aanpassen met behulp van CSS. Dat gaat allemaal redelijk, maar als ik een :hover wil maken voor elk listitem, dan gaat het niet zo als ik wil dat het gaat.
Bij elk listitem afzonderlijk wil ik namelijk een witte achtergrondkleur zien.
Als het om een singlelevel navigatie gaat, is dat eenvoudig te bereiken met:
Het probleem is dan dat de achtergrondkleur van een hoofdlistitem verandert als ik over een sublistitem hover. Als ik de CSS verander als volgt:
Dan verandert alleen de achtergrondkleur van de sublistitems, maar dan doen helaas de hoofdlistitems het niet meer.
Als ik de beide CSS-varianten gezamenlijk gebruik, krijg ik hetzelfde resultaat als mijn eerste probleem.
Is dit op te lossen zonder gebruik te maken van Javascript? Kan iemand mij een goede tip geven?
HTML:
1
2
3
4
5
6
7
8
9
10
11
| <ul> <li><a href=""><em>Item 1</em></a></li> (hoofdlistitem) <li><a href=""><em>Item 2</em></a> (hoofdlistitem) <ul> <li><a href=""><em>Subitem 1</em></a></li> (sublistitem) <li><a href=""><em>Subitem 2</em></a></li> (sublistitem) </ul> </li> <li><a href=""><em>Item 3</em></a></li> (hoofdlistitem) </ul> |
Deze code is onveranderlijk, aangezien deze door een CMS wordt uitgespuugd. Ik heb geen controle over de HTML die ik kan gebruiken.
Nou wil ik dit aanpassen met behulp van CSS. Dat gaat allemaal redelijk, maar als ik een :hover wil maken voor elk listitem, dan gaat het niet zo als ik wil dat het gaat.
Bij elk listitem afzonderlijk wil ik namelijk een witte achtergrondkleur zien.
Als het om een singlelevel navigatie gaat, is dat eenvoudig te bereiken met:
Cascading Stylesheet:
1
2
3
| li:hover a { background: #fff; } |
Het probleem is dan dat de achtergrondkleur van een hoofdlistitem verandert als ik over een sublistitem hover. Als ik de CSS verander als volgt:
Cascading Stylesheet:
1
2
3
| li ul li:hover a { background: #fff; } |
Dan verandert alleen de achtergrondkleur van de sublistitems, maar dan doen helaas de hoofdlistitems het niet meer.
Als ik de beide CSS-varianten gezamenlijk gebruik, krijg ik hetzelfde resultaat als mijn eerste probleem.
Is dit op te lossen zonder gebruik te maken van Javascript? Kan iemand mij een goede tip geven?
We zijn allemaal vaandeldrager in een optocht van gekwetsten.