【发布时间】:2022-01-04 14:49:49
【问题描述】:
我有一个导航栏,其中包含家庭、联系人、将军等典型内容。“将军”的颜色为白色,背景色透明。当我将鼠标悬停在它上面时,它是 #333 并且背景颜色变为白色。 “常规”有一个下拉菜单。当我将鼠标悬停在下拉内容上时,“常规”将变回白色,但我希望当我将鼠标悬停在下拉内容上时它仍然是颜色 #333。我试图把它放在一个 div 和其他东西中,但我没有工作。我必须对我的代码进行哪些更改?
这是我的代码:
<ul class="top-level-menu">
<li><a href="index1.html">Contact</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Travel</a></li>
<li>
<a href="#">General</a>
<ul class="second-level-menu">
<li><a href="#">People</a></li>
<li><a href="#">Defense</a></li>
<li>
<a href="#">Cities</a>
<ul class="third-level-menu">
<li><a href="#">Moscow</a></li>
<li><a href="#">Vladivostok</a></li>
<li><a href="#">Kazan</a></li>
<li><a href="#">Sochi</a></li>
</ul>
</li>
<li><a href="#">History</a></li>
<li><a href="#">Demographics</a></li>
<li><a href="#">Geographics</a></li>
<li><a href="#">Culture</a></li>
</ul>
</li>
<li><a href="#">Home</a></li>
</ul>
And css:
.third-level-menu {
position: absolute;
top: 0;
right: -150px;
width: 150px;
list-style: none;
padding: 0;
margin: 0;
display: none;
}
.third-level-menu>li {
height: 30px;
background: #fff;
}
.third-level-menu>li:hover {
background: #f1f1f1;
}
.second-level-menu {
position: absolute;
top: 30px;
left: 0;
width: 150px;
list-style: none;
padding: 0;
margin: 0;
display: none;
}
.second-level-menu>li {
position: relative;
height: 30px;
background: #fff;
}
.second-level-menu>li a {
color: #333;
float: left;
padding-left: 23px;
}
.second-level-menu>li:hover {
background: #f1f1f1;
}
.top-level-menu {
list-style: none;
padding: 0;
margin: 0;
}
.top-level-menu>li {
position: relative;
float: right;
height: 30px;
width: 100px;
background: transparent;
margin-top: 20px;
text-align: center;
font-size: 14px;
}
.top-level-menu>li:hover {
background: #fff;
}
.top-level-menu li:hover>ul {
display: inline;
}
.top-level-menu a
{
color: #fff;
text-decoration: none;
display: block;
line-height: 30px;
}
.top-level-menu a:hover {
color: #333;
}
【问题讨论】: