问题描述
我有一个简单的UL列表,当你将鼠标悬停在下面的HTML中的更多
列表项时,它会隐藏它的子菜单并显示它。
I have a simple UL list, when you hover over the More
list item in the HTML below, it unhides it's child menu and shows it.
我需要做的是在子菜单显示和悬停后更改实际更多
的CSS。
What I need to do is change the CSS of the actual More
's CSS once the child menu is show and hovered.
因此,如果您将鼠标悬停在更多
上,子菜单就会显示,然后将鼠标悬停在子菜单上。在这一点上,我需要改变这个子菜单的父菜单的CSS,这将是更多
作为它的文本的菜单。
So if you hover over More
a child menu becomes visible, you then hover over that child menu. At this point I need to change the CSS of the Parent of this child menu which would be the menu that has More
as it's text.
如果你知道如何做没有Javascript的,我很想知道..也许是没有JS甚至不可能没有JS?
If you know how to do this without Javascript, I would love to know.. Maybe it is not even possible without 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>
推荐答案
使用进行此操作。
HTML:
<ul>
<li>
<ul>
<li>Sub Link 1</li>
<li>Sub Link 2</li>
<li>Sub Link 3</li>
</ul>
<a href="#">Menu</a>
</li>
</ul>
CSS:
* {
margin: 0;
padding: 0; }
ul { list-style: none; }
ul > li { position: relative; }
ul li a {
height: 16px;
display: block; }
ul ul {
position: absolute;
top: 16px;
left: 0;
cursor: pointer;
display: none; }
ul li:hover ul { display: block; }
ul ul:hover + a { color: red; }
预览:
这篇关于当悬停CSS列表项时,请更改父项CSS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!