0

我被我制作的下拉菜单卡住了。当我悬停菜单项时,会出现一个下拉菜单,但我似乎无法单击下拉项目,因为下拉菜单和菜单之间有一个空白区域。

这是我的代码:

nav ul ul {
display: none;

}

nav ul li:hover > ul {
    display: block;
}


nav ul {

float : right;
padding: 0px 10px;
list-style: none;
position: relative;
display: inline-table;
}
nav ul:after {
    content: ""; clear: both; display: block;
}

nav ul li {
    float: left;
}
    nav ul li:hover {
        background: #fff;

    }
        nav ul li:hover a {
            color: #000;
        }

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


nav ul ul {
    background: #fff; padding: 0;
    position: absolute; top: 100%;
}
    nav ul ul li {
        float: none; 

         position: relative;
    }
        nav ul ul li a {
            padding: 0px 20px;
            color: #fff;
        }   
            nav ul ul li a:hover {
                background: #fff;
            }

nav ul ul ul {
    position: absolute; left: 100%; top:0;
}

有人有想法吗?

你可以看到代码:http ://dropdown.kiran.be

ķ

4

3 回答 3

0

您应该删除您现在拥有的 ul 边距。所以这是一个可能的解决方案:

ul li ul {
  margin-left: 0;
}

您甚至应该删除下拉菜单顶部的边距。我不能点击它,因为它溜走了!

于 2013-10-31T23:39:42.153 回答
0

只需添加左侧:0

到您的 nav ul ul (下拉菜单)并从 nav ul li 中删除边距底部(它从您的 base.css 继承了一些边距,如果您使用 firebug,您可以看到发生了什么)

于 2013-10-31T23:10:42.887 回答
0

基本上,当您将鼠标悬停在一个 li 时,您会显示 UL:

HTML

<ul>
  <li>one</li>
  <li>two
    <ul class="sub">
      <li>sub one</li>
      <li>sub two</li>
    </ul>
  </li>
</ul>

CSS

ul li ul {
  display:none;
  position:absolute;}

ul li:hover ul.sub {
  display:block;
}

希望有帮助!

于 2013-10-31T23:20:57.873 回答