【发布时间】:2019-05-07 20:59:33
【问题描述】:
我有一个简单的 UL 列表,当您将鼠标悬停在下面 HTML 中的 More 列表项上时,它会取消隐藏它的子菜单并显示它。
一旦子菜单显示并悬停,我需要做的是更改实际More 的 CSS 的 CSS。
因此,如果您将鼠标悬停在 More 上,子菜单就会变得可见,然后您将鼠标悬停在该子菜单上。此时,我需要更改此子菜单的父级 CSS,这将是具有 More 作为文本的菜单。
如果你知道如何在没有 Javascript 的情况下做到这一点,我很想知道.. 也许没有 JS 甚至不可能?
<div id="nav-wrapper">
<ul>
<li><a href="">Link</a></li>
<li><a href="">Link 5</a></li>
<li><a href="">More</a>
<ul>
<li><a href="">Sub Link 1</a></li>
<li><a href="">Sub Link 2</a></li>
<li><a href="">Sub Link 3</a></li>
<li><a href="">Sub Link 4</a></li>
<li><a href="">Sub Link 5</a></li>
</ul>
</li>
</ul>
</div>
CSS
<style type="text/css" media="screen">
#nav-wrapper ul {
position:relative;
width: 700px;
float: right;
margin: 0;
list-style-type: none;
}
#nav-wrapper ul li {
vertical-align: middle;
display: inline;
margin: 0;
color: black;
list-style-type: none;
}
#nav-wrapper ul li a {
text-decoration: none;
white-space: nowrap;
line-height: 45px;
font-size: 13px;
color: #666;
padding: 5px 15px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
#nav-wrapper ul li a:hover {
color: #fff;
background-color: #4caef2;
}
#nav-wrapper ul li a:visited {
color: #666;
}
/* Hide Sub-menus */
#nav-wrapper ul ul{
display: none;
}
/* SHOW Sub-menus on HOVER */
#nav-wrapper ul li:hover ul{
display: block;
margin:-10px 0 0 0;
padding:0px 20px 20px 20px;
border-color:#fff;
border:1px;
border-style:solid;
background:#FFF;
position:absolute;
top:45px;
right: 320px;
width: 420px;
}
</style>
【问题讨论】: