问题在于保证金 - 它实际上是“死亡空间”,所以当您向上移动鼠标时,实际上并没有触及它。
我认为最好的办法是去除余量,以及30像素添加到ul
的底部填充(所以你触摸它,当你将鼠标放置),并去除背景色:
ul.dropdown ul {
left: 0;
position: absolute;
top: 100%;
visibility: hidden;
z-index: 999;
margin: 0;
width: 300px;
padding: 20px 20px 50px;
opacity: 0;
-ms-filter: "alpha(opacity=0)";
filter: alpha(opacity=0);
}
(请参阅http://jsfiddle.net/RmTpc/3/)
您可能需要调整列表项的填充以弥补丢失的背景空间,但此解决方案应该适合您。
编辑:
使用更新的jsfiddle,你需要将自己的边界移动到“礼”元素。见New JSFiddle I set up,或此代码:
ul.dropdown ul {
left: 0;
position: absolute;
top: 100%;
visibility: hidden;
z-index: 999;
margin: 0;
width: 300px;
padding: 20px 20px 50px;
opacity: 0;
-ms-filter: "alpha(opacity=0)";
filter: alpha(opacity=0);
}
ul.dropdown ul li {
float: none;
background: #fff;
border: solid 2px #bbb;
border-top: none;
border-bottom: none;
}
ul.dropdown ul li:first-child {
border-top: 2px solid #bbb;
}
ul.dropdown ul li:last-child {
border-bottom: 2px solid #bbb;
}
卸下'保证金bottom''ul.dropdown ul' – Nitesh
如果我这样做,打开菜单粘到华里。想要让它有一些清算,有保证金或填充。 – g5wx