我有一个水平菜单,它是纯 HTML、CSS 和 Jquery。所有的菜单都很完美,但是菜单的设计有一个非常愚蠢的分隔符,这给我带来了问题。无论如何,悬停菜单上的 CSS 甚至可以覆盖其他菜单项之间的分隔符吗?
这是菜单:
这是悬停:
这就是问题 :
- 很重要!菜单是动态的(我不能让每一个都具有给定的宽度)
- 分隔符 h.line 是一个 *.png 文件
- 所有菜单都是纯 HTML、CSS 和 Jquery(问题仅在 CSS 中),没有菜单图像背景,图像只是“分隔线”
CSS代码(我认为只有这部分是问题):
.white ul.mega-menu li {
float: left;
margin: 0;
padding: 0;
text-transform: uppercase;
}
.white ul.mega-menu li a {
float: left;
display: block;
color: #47515c;
padding: 0px 15px;
text-decoration: none;
border-left: 1px solid #fff;
background: url(../images/top_menu_separate.png) no-repeat right;
}
.white ul.mega-menu li a.dc-mega {position: relative;}
.white ul.mega-menu li.mega-hover a, .white ul.mega-menu li a:hover {
color: #47515c;
background: #dadcde;
border-left: 1px solid #dadcde;
padding-bottom: 0px;
z-index: 5000000;
overflow: visible;
}
HTML:
<div class="white">
<ul id="mega-menu-9" class="mega-menu">
<li><a href="test.html" class="multi">Expertise</a></li>
<li><a href="test.html">About us</a></li>
<li><a href="#">Our People</a></li>
<li><a href="#">Our work</a></li>
<li><a href="#">Candidates</a></li>
<li><a href="#">Careers</a></li>
<li><a href="#">Contact us</a></li>
</ul>
</div>
我认为这是方法:
.white ul.mega-menu li:hover
{
border-left: 1px solid #dadcde;
margin-left: -1px;
}
唯一的问题是,当悬停时,它会将所有菜单从右向左移动 1px,看起来很糟糕......有什么技巧吗?