Reputation: 41
i have a problem (i haven't enought knowledge to do that - this is the real problem): I have a dropdown menu inside a website: [SCREENSHOT]
And i want, that when i'm inside the last list of item, the icon on the first list change background color.
This is the code explained
<!-- "Product" menu, (you can see it in the screenshot) is inside a li:-->
<li><a href="#">Product</a></li>
<!-- Then there are the sub menu: -->
<li><a href="#">Product</a>
<ul>
<li><a href="#"><img src="icon1.png">sub1</a></li>
<li><a href="#"><img src="icon1.png">sub2</a></li>
<li><a href="#"><img src="icon1.png">sub3</a></li>
<li><a href="#"><img src="icon1.png">sub4</a></li>
</ul>
</li>
<li><a href="#">Product</a>
<ul>
<li><a href="#"><img src="icon1.png">sub1</a>
<ul>
<li>
<a href="page.html">SUBOFSUB!!!!!</a>
</li>
</ul>
</li>
<li><a href="#"><img src="icon1.png">sub2</a></li>
<li><a href="#"><img src="icon1.png">sub3</a></li>
<li><a href="#"><img src="icon1.png">sub4</a></li>
</ul>
</li>
And i want to change the background of the img of "sub1,sub2,sub3,sub4" every time i get hover of the "SUBOFSUB!!" menu
Upvotes: 0
Views: 91
Reputation: 6796
As "SUBOFSUB" is a descendant of "sub1", you can achieve what you want by applying your desired styles to the :hover
pseudo-class of the "sub1" element, like so:
/* HOUSEKEEPING */
*{box-sizing:border-box;font-family:sans-serif;list-style:none;margin:0;padding:0;}
/* IMPORTANT STUFF */
#menu>li:hover>img{
background:#fff;
}
/* STYLING */
#menu{color:#fff;line-height:1.5em;width:50%;}
#menu>li{background:#000;margin:1px 5px;padding:0 5px;position:relative;}
#menu img{border:1px solid;height:1em;margin:.25em 5px .25em 0;transition:background .5s;vertical-align:top;width:1em;}
#menu ul{background:#fff;left:90%;position:absolute;top:5px;width:100%;}
#menu ul li{background:#666;margin:1px;padding:0 5px;}
<ul id="menu">
<li><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">Menu 1
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</li>
</ul>
Upvotes: 1