沿边框移动鼠标指针时,此处的 superfish 菜单会闪烁:http ://www.kine-stammheim.ch/ css 文件在此处:http ://www.kine-stammheim.ch/css/navigation/superfish .css
我的猜测是悬停项目的大小与标准不同,这就是它会闪烁的原因。但是我找不到问题...
谁能帮忙?
沿边框移动鼠标指针时,此处的 superfish 菜单会闪烁:http ://www.kine-stammheim.ch/ css 文件在此处:http ://www.kine-stammheim.ch/css/navigation/superfish .css
我的猜测是悬停项目的大小与标准不同,这就是它会闪烁的原因。但是我找不到问题...
谁能帮忙?
问题是由悬停状态的边距引起的。
这就是我改变的
.sf-menu li {
margin: 0px;
padding: 5px; /* I added your 5px margin as padding to the li that contains the a. This gave the same effect without confusing the hover state */
list-style: none;
float:left;
background: #536bff;
}
.sf-menu a {
line-height: 35px; /* I removed 10px of line-height since the li now has a 5px padding */
padding: 0 15px;
color: #fff;
text-decoration: none;
letter-spacing: 1px;
display: block;
}
body#home a#homeNav,
body#ikmethode a#ikmethodeNav,
body#uebermich a#uebermichNav ,
body#contact a#contactNav,
body#anwendung a#anwendungNav,
.sf-menu > li > a:hover,
.sf-menu > li.current > a,
.sf-menu > li.sfHover > a {
background: #8398ff url(../../images/bg-top-a-active.png) no-repeat center bottom;
height: 35px;
line-height: 35px;
border-radius: 5px;
text-decoration: none;
}
这是一个有效的JSFIDDLE,向您展示最终结果。
你试过hoverIntent 插件吗?
支持 hoverIntent 插件。Superfish 自动检测 Brian Cherne 的 hoverIntent 插件的存在,并将其高级悬停行为用于鼠标悬停(鼠标悬停延迟由 Superfish 处理,无论是否存在 hoverIntent)。使用这只是一个选项,但一个不错的选项。此页面上的示例使用 hoverIntent。如果出于某种原因您想在页面上为其他插件使用 hoverIntent 但不希望 Superfish 使用它,您可以将选项 disableHI 设置为 true。重要提示:从 v1.5.1 开始,您必须使用支持事件委托的 hoverIntent 的更新版本 (r7)。
hoverIntent 是一个试图确定用户意图的插件......就像一个水晶球,只有鼠标移动!它类似于 jQuery 的悬停方法。然而,hoverIntent 不是立即调用 handlerIn 函数,而是等到用户的鼠标速度足够慢后再进行调用。
为什么?延迟或防止意外触发动画或 ajax 调用。简单的超时适用于小区域,但如果您的目标区域很大,则无论意图如何,它都可能执行。这就是 hoverIntent 进来的地方......