我正在使用cssmenumaker.com中具有子项目的水平菜单。我一直在尝试,但是我只是没有设法添加子项目。

这是我正在使用的CSS:

.menu{
border:none;
border:0px;
margin:0px;
padding:0px;
font: 67.5% "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet Unicode MS", "Lucida Grande", Verdana, Helvetica, sans-serif;
font-size:14px;
font-weight:bold;
}

#menu {
position:absolute;
left:250px;
top:0px;
width:750px;
height:35px;
border:0px solid #123456;
}

.menu ul{
background:#000000;
height:35px;
list-style:none;
margin:0;
padding:0;
}
.menu li{
    float:left;
    padding:0px;
    }

.menu li a{
    background:#000000 url("images/seperator.gif") bottom right no-repeat;
    color:#cccccc;
    display:block;
    font-weight:normal;
    line-height:35px;
    margin:0px;
    padding:0px 25px;
    text-align:center;
    text-decoration:none;
    }
    .menu li a:hover,
    .menu ul li:hover a{
        background: #2580a2 url("images/hover.gif") bottom center no-repeat;
        color:#FFFFFF;
        text-decoration:none;
        }
.menu li ul{
    background:#333333;
    display:none;
    height:auto;
    padding:0px;
    margin:0px;
    border:0px;
    position:absolute;
    width:125px;
    z-index:200;
    /*top:1em;
    /*left:0;*/
    }
.menu li:hover ul{
    display:block;

    }
.menu li li {
    background:url('images/sub_sep.gif') bottom left no-repeat;
    display:block;
    float:none;
    margin:0px;
    padding:0px;
    width:125px;
    }
.menu li:hover li a{
    background:none;

    }
.menu li ul a{
    display:block;
    height:35px;
    font-size:12px;
    font-style:normal;
    margin:0px;
    padding:0px 10px 0px 15px;
    text-align:left;
    }
    .menu li ul a:hover,
    .menu li ul li:hover a{
        background:#2580a2 url('images/hover_sub.gif') center left no-repeat;
        border:0px;

        color:#ffffff;
        text-decoration:none;
        }
.menu p{
    clear:left;
    }


我已经将子子菜单添加到了HTML(我相信正确完成了):

<div id="menu" class="menu">
<ul>
    <li><a href="#" >item1</a></li>
    <li><a href="#">item2</a></li>
    <li><a href="#">item3</a>
        <ul>
            <li><a href="#">subitem1</a></li>
            <li><a href="#">subitem2</a></li>
            <li><a href="#">subitem3</a>
                <ul>
                    <li><a href="#">subsubitem1</a></li>
                    <li><a href="#">subsubitem2</a></li>
                </ul>
            </li>
            <li><a href="#">subitem4</a></li>
            <li><a href="#">subitem5</a></li>

        </ul>
    </li>
    <li><a href="#">item4</a></li>
    <li><a href="#">item5</a></li>
</ul>




当前情况如下:http://bit.ly/GRJkT5
如您所见,子项目1和2显示在子项目4和5的顶部。我应该如何编辑CSS?

提前致谢!
坦率。

最佳答案

您应该考虑使用>组合器。

例:

/* instead of... */
.menu li:hover ul{
    display:block;
}
/* use... */
.menu li:hover > ul{
    display:block;
}


这将确保仅悬浮元素的直接子元素会受到样式的影响。

在正确的地方使用该组合器,应该可以解决您的问题。

关于html - 将子子菜单添加到水平菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9873697/

10-11 22:04
查看更多