【发布时间】:2015-07-07 08:03:54
【问题描述】:
我的js:
$("#navShop li").hover(function () {
$(this).find("ul.subCatMenu").stop(true, true).show();
},
function () {
$(this).find("ul.subCatMenu").stop(true, true).hide();
});
在 JS 和我的 HTML 中没有什么特别之处:
<ul class="nav navbar-nav navbar-right">
<li><a href="/" id="home">Home</a></li>
<li><a href="About">About</a>
<ul class="subCatMenu">
<li><a href="#">About us</a></li>
<li><a href="#">Contact us</a></li>
</ul>
</li>
</ul>
问题是当你悬停时设计师想要一条线,所以只是一个
a:hover{ border-bottom: 1px solid green;}
但是第二级ul和a之间有几个像素当我将光标移动到第二级ul时,当鼠标在a的边框或边缘时它消失了。
解释我可怜的无 Photoshop 图像:
红色 = 边距,蓝色 = 填充,绿色 = 边框
它类似于Css Dropdown Menu - Hover disappear,但我需要设计师的差距。提前致谢!
【问题讨论】:
-
你能提供你的css吗?
-
是的,但它是嵌套的 SASS,将“取消嵌套”并尽快更新问题
-
只用codepen.io,它支持SASS
-
或者你可以复制/粘贴SASS生成的css
-
基本上你应该用悬停包装器包装两个悬停元素,它们是不可见的,但有助于鼠标交互,值得一读:css-tricks.com/… 即使我会在没有 javascript 行的情况下这样做,那里有几个技巧,比如动画延迟 > 0,使其更加用户友好