CSS: 下拉菜单选择不正确;边距间距?

CSS: drop down menu not selecting correctly; margin spacing?

我有一个下拉菜单,当你将鼠标悬停在一个选项上时它会显示子菜单,但是当你向下移动光标时;有时菜单的其余部分会隐藏。我注意到下面有一点 space(边距?边界?),我假设是罪魁祸首,除非有人能告诉我不同​​的说法。

下面是一张图片来说明我的意思;这两个选项之间有一个小差距,我假设当你让光标越过那个点时它会脱落 "hover" 并隐藏它

如有任何帮助,我们将不胜感激。

.menu ul { margin = ..;}

上面的代码使边距变大了,但是即使它被设置为 0 它似乎仍然存在..

这是我的 HTML 菜单

<td align="center" bgcolor="#666666">
          <div class="menu" align="center">
        <ul>
            <li><a href="/barequipment" class="dropmenutext">Bar Equipment</a>
                <ul> 
                    <li><a href="/barequipment/tills">Tills</a></li>
                    <li><a href="/barequipment/furniture">Bar Furniture</a></li>
                    <li><a href="/barequipment/sundries">Bar Sundries</a></li>
       ...         
    </div></td>

这是 Css 菜单 class

 @charset "utf-8";

    * {
      margin: 0px; padding: 0px;  
    }

    .menu {
    margin: 0px;    
    text-align: center;  
    background: #efefef;  
    padding: 0px;
    }

    .menu ul ul {
    display: none;
}

    .menu ul li:hover > ul {
    display: block;    
}

.menu ul {
    background: #efefef;    
    padding: 0;              
    list-style: none;      
    position: relative;    
    display: inline-table;
    margin: 0px;
}
.menu ul:after {
    content: "";     
    clear: both; 
    display: block;
}

.menu ul li {
    float: left;
}

.menu ul li:hover {
    background: #999;
}
.menu ul li:hover a {
    color: #fff;
}

.menu ul li a {
    display: block; 
    padding: 10px;
    color: #757575;
    text-decoration:none;               
}

.menu ul ul {
    background: #efefef;
    padding: none;
    position: absolute; 
    top: 100%;    /* ?? */
}
.menu ul ul li {
    float: none; 
    border-top: 0px solid #6b727c;
    border-bottom: 0px solid pink; 
    position: relative;
}
.menu ul ul li a {
    padding: 10px;
    color:#fff;
    display: block; 
}   

.menu ul ul li a:hover {
    background: red;    
}

.menu ul ul ul {
    position: absolute; 
    left: 100%; 
    top:0;
    padding: 0;
}

.menu ul ul ul li {
    float: none; 
    border-top: 0px solid #6b727c;
    border-bottom: 0px solid pink; 
    position: relative;
}

.menu ul ul ul li a {
    padding: 10px;
    color: #fff;
}

.menu ul ul ul li a:hover {
    background: red;    */
} 

.menu ul ul ul ul {
    position: absolute;
    left: 100%;
}

查看 jsfiddle:http://jsfiddle.net/p1kuzzdo/

试试这个 css:

 @charset "utf-8";

    * {
      margin: 0px; padding: 0px;  
    }

   .menu {
    background: none repeat scroll 0 0 #efefef;
    height: 50px;
    line-height: 50px;
    margin: 0;
    padding: 0;
    text-align: center;
}

    .menu ul ul {
    display: none;
}

    .menu ul li:hover > ul {
    display: block;    
}

.menu ul {
    height: 50px;
    line-height: 50px;
    list-style: outside none none;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
}
.menu ul:after {
    content: "";     
    clear: both; 
    display: block;
}


.menu ul li {
    float: left;
    padding: 0 10px;
}

.menu ul li:hover {
    background: #999;
}
.menu ul li:hover a {
    color: #fff;
}
.menu ul li a {
    color: #757575;
    display: block;
    text-decoration: none;
}
.menu ul ul {
    background: none repeat scroll 0 0 #efefef;
    padding: 0;
    position: absolute;
    top: 100%;
}
.menu ul ul li {
    border-bottom: 0 solid pink;
    border-top: 0 solid #6b727c;
    float: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.menu ul ul li a {
    padding: 10px;
    color:#fff;
    display: block; 
}   

.menu ul ul li a:hover {
    background: red;    
}

.menu ul ul ul {
    position: absolute; 
    left: 100%; 
    top:0;
    padding: 0;
}

.menu ul ul ul li {
    float: none; 
    border-top: 0px solid #6b727c;
    border-bottom: 0px solid pink; 
    position: relative;
}

.menu ul ul ul li a {

    color: #fff;
}

.menu ul ul ul li a:hover {
    background: red;    */
} 

.menu ul ul ul ul {
    position: absolute;
    left: 100%;
}