我试图做一个左侧导航菜单我的网页,这是看起来像下面的图片:避免飘飘鼠标悬停
这里是我所面临的问题的jsfiddle。 http://jsfiddle.net/rzr4Z/
我的HTML看起来像下面
<ul id="nav">
<li><a href="#first-page" id="first_id">First</a><img src="images/navbar-icons/first.png" />
</li>
<li><a href="#second-page" id="second_id">Second</a><img src="images/navbar-icons/second.png" />
</li>
<li><a href="#third-page" id="third_id">Third</a><img src="images/navbar-icons/third.png" /> <img
src="images/navbar-icons/third.png" />
<ul id="side-menu">
<li><img src="images/navbar-icons/submenu-img.png" alt="sub menu image" />
</li>
<li>Sub-menu item 1</li>
<li>Sub-menu item 2</li>
<li>Sub-menu item 1</li>
</ul></li>
<li><a href="fourth-page" id="fourth_id">Fourth</a><img src="images/navbar-icons/fourth.png" />
</li>
</ul>
CSS:
ul#nav {
list-style-type: none;
margin: 10px 0;
padding: 0;
text-align: center;
}
ul#nav li {
font-size: 250%;
line-height: 25px;
padding: 7px 0;
margin: 0;
}
ul#nav li a {
display: block;
}
ul#nav li a:link,ul#nav li a:visited {
color: #333333;
text-decoration: none;
}
ul#nav li a:hover,ul#nav li a:active {
color: #a61607;
text-decoration: none;
}
ul#nav li img {
display: none;
}
ul#nav a:hover#first_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#second_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#third_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#fourth_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav li ul#side-menu {
display: none;
position: absolute;
}
ul#nav li:hover ul#side-menu {
font-size: 30%;
list-style-type: none;
line-height: 2px;
color: #a61607;
text-decoration: none;
display: block;
position: absolute;
top: 310px;
left: 250px;
}
ul#nav li:hover ul#side-menu li {
float: none;
}
ul#nav li:hover ul#side-menu li img {
position: absolute;
top: 400px;
left: 0px;
}
而是做这样的事情的,
ul#nav a:hover+img {
display: block;
position: relative;
top: -25px;
}
我不得不使用不同的ID对每个因为每个元素都在css里的翻转图像具有不同的大小和宽度,以便我可以单独调整它们的相应翻转位置。是否以正确的方式使用不同的ID来获得所需的效果?
但是,主要的问题是,当我将鼠标悬停在每个菜单项的图像上时,我开始感觉到飘动的效果,并且悬停效果对于那种飘动的眼睛并不容易。 当鼠标悬停在#third-page
菜单项上时,也不会出现子菜单的图像(子菜单项出现,但img未出现)。
关于如何解决这个飘动,并获得这个菜单的正确效果的任何建议?
一个jsfiddle将不胜感激。 – Jerska 2012-08-06 13:53:33
@Jerska:这里是jsfiddle:http://jsfiddle.net/rzr4Z/ – user1240679 2012-08-06 14:53:11
你愿意使用javascript解决方案吗?如果是这样,jQuery? – Rodik 2012-08-06 14:56:48