Div中断我的CSS菜单

时间:2013-09-28 23:30:31

标签: css html

我以为我已经在Code Pen中完善了我的CSS导航栏,但是当我在实际布局中实现它时,似乎我的布局中的其他div会破坏下拉(下拉出现,但是当我移动时鼠标选择其中一个孩子,下拉列表消失。)

以下是代码笔:http://codepen.io/anon/pen/cKJlu

此处它已在我的网站上实施:http://www.onedirectionconnection.com/tester

这是CSS:

.main-navigation {
    clear: both;
    display: block;
    width: 90%;
    margin: 0 auto 20px auto;
}
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}
.main-navigation li {
    float: left;
    position: relative;
    margin-right: 15px;
}

.main-navigation li:last-of-type{
    margin-right:0;
}
.main-navigation a {
  text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    display: block;
    text-decoration: none;
    font-weight: bold;
    border-radius: 3px;
    background-color: #269BA9;
    width: 130px;
    color: #fff;
}
.main-navigation ul ul {
    display: none;
    float: left;
    position: absolute;
        top: 1.5em;
        left: 0;
    z-index: 99999;
}
.main-navigation ul ul ul {
    left: 100%;
    top: 0;
}
.main-navigation ul ul a {
  margin-top: 3px;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
  background-color: #DA5969;
}
.main-navigation ul ul :hover > a {
}
.main-navigation ul ul a:hover {
}
.main-navigation ul li:hover > ul {
    display: block;
}
.main-navigation li.current_page_item a,
.main-navigation li.current-menu-item a {
}

/* Small menu */
.menu-toggle {
    display: none;
    cursor: pointer;
}

如果有人能帮我弄清问题是什么,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

子菜单和菜单之间有空格。原因是你给了子菜单top: 1.5em;。如果它之间有空间,你就不会再在它上面盘旋了。

.main-navigation ul ul {
    display: none;
    float: left; // remove this, float does not work with position: absolute
    position: absolute;
        top: 1.5em; // culprit of your problem
        left: 0;
    z-index: 99999;
}

并给.main-navigation一个float: left;来解决边际问题。