我正在尝试使用nested Un ordered lists.
我的情况是我有unordered list
,其unordered list
元素中有另一个li
。我使用first level li
为child selector
元素编写了鼠标悬停。我的问题是在悬停first level li
元素时,其悬停过程的css也会应用于其child li
元素。我的问题是为什么子选择器在我的情况下选择它的后代..?我该怎么做才能在将来避免这种情况。
答案 0 :(得分:1)
以下是以下解决方案:
我的问题是为什么子选择器在我的情况下选择它的后代..?
因为您已通过添加#ULHeaderMenuWrapperMenuCollection > li:hover
我该怎么做以避免将来发生这种情况。
您必须通过向CSS添加#ULHeaderMenuWrapperMenuCollection > li:hover div ul li
来保护继承。这是Working Solution。
#ULHeaderMenuWrapperMenuCollection > li:hover div ul li
{
color:black;
}
#ULHeaderMenuWrapperMenuCollection > li:hover div ul li:hover
{
color:orange;
}
希望这有帮助。
答案 1 :(得分:1)
已更新以适合您的原始代码
当鼠标悬停在您的子列表中时,它仍然悬停在主要列表上。
我建议您将<li>
文字放在<span>
或<a>
中,这样可以使您的css最简单:
<强> HTML 强>
<ul id="ULHeaderMenuWrapperMenuCollection">
<li>
<span>Products</span>
<div id="DivProductsMenu">
<div id="DivProductsMenuUpper">
<ul>
<li><span>CIMS</span></li>
<li><span>VPRO</span></li>
<li><span>BIRIS</span></li>
</ul>
</div>
<div id="DivProductsMenuLower">
<ul>
<li><span>PATRON</span></li>
<li><span>DEAL</span></li>
<li><span>MEDIX</span></li>
</ul>
</div>
</div>
</li>
<li>
<span>Contact Us</span>
</li>
</ul>
<强> CSS 强>
#ULHeaderMenuWrapperMenuCollection li > span:hover {
color:orange;
}