在CSS中同时可见的不同级别的菜单

时间:2013-11-15 11:56:31

标签: html css drop-down-menu

我有这个CSS:

以下是示例:以下是示例:http://jsfiddle.net/GrkkW/1/

#menu{
width:952px;
height:36px;
line-height:36px;
padding:0 0 0 32px;
background-image:url(/images/menu_bg.gif);
background-position:top left;
background-repeat:repeat-x;
     position:relative;
 z-index:100;
float:left;
}
#menu li{
display:inline;
list-style-type:none;
float:left;
     position:relative;
 z-index:100;
}
#menu li a{
font-family:Tahoma;
font-size:11px;
color:black;
text-decoration:none;
margin:0 15px;
padding:3px 8px;
display: block;
}
#menu li > ul
{
    display: none;
    line-height: 20px;
    height: 20px;
}
#menu li:hover ul{
   display: block;
   position:absolute;
   margin: -5px ;
}
#menu li:hover li{
   float: none; }
#menu li:hover li a{
   background-color: #0C325F;
   border-bottom: 1px solid #0C325F;
   color: #D2DEEC; }
#menu li li a:hover {
   background-color: #8db3ff; }

和HTML是这样的:

        <ul id="menu">
            <li><a href="#">Home</a></li>
            <li><a href="#">Item1</a>
                <ul>
                    <li><a href="#">SubItem1</a>
                    <ul>
                        <li><a href="#">Sub1</a></li>
                        <li><a href="#">Sub2</a></li>
                     </ul>
                    </li>
                    <li><a href="">SubItem2</a>
                                                <ul>
                        <li><a href="#">Sub1</a></li>
                        <li><a href="#">Sub2</a></li>
                     </ul>
                    </li>

                </ul>
            </li>
            <li><a href="LogForm.aspx">Item2</a></li>

我用它来显示菜单和子菜单。我想要实现的是,当点击第二级的选项时,其子菜单是可见的。但是,当我单击菜单时,同时显示级别1和级别2的子菜单。 我想知道是否有人可以帮助我,并提供一些建议,我需要添加到CSS来实现这一点?

以下是示例:http://jsfiddle.net/GrkkW/1/

1 个答案:

答案 0 :(得分:1)

HTML

 <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a>
                <ul>
                <li><a href="#">About-1</a></li>
                <li><a href="#">About-1</a></li>
                <li><a href="#">About-1</a>
                    <ul>
                        <li><a href="#">About-2</a></li>
                        <li><a href="#">About-2</a></li>
                        <li><a href="#">About-2</a>
                            <ul>
                                <li><a href="#">About-3</a></li>
                                <li><a href="#">About-3</a></li>
                                <li><a href="#">About-3</a>
                                    <ul>
                                        <li><a href="#">About-4</a></li>
                                        <li><a href="#">About-4</a></li>
                                        <li><a href="#">About-4</a></li>
                                        <li><a href="#">About-4</a></li>
                                    </ul>
                                </li>
                                <li><a href="#">About-3</a></li>
                            </ul>
                        </li>
                        <li><a href="#">About-2</a></li>
                    </ul>
                </li>
                <li><a href="#">About-1</a></li>
            </ul>
         </li>
        <li><a href="#">profile</a></li>
        <li><a href="#">Contact</a>
            <ul>
                <li><a href="#">contact-1</a></li>
                <li><a href="#">contact-1</a></li>
                <li><a href="#">contact-1</a></li>
                <li><a href="#">contact-1</a></li>
            </ul>
         </li>
    </ul>

CSS

*{ padding:0px; margin:0px;}
ul{padding:0px; margin:0px; list-style:none; width:100%}
ul li{ float:left; padding-right:1px; position:relative;}
ul a{ text-decoration:none; display:table-cell; vertical-align:middle; text-align:center; color:#000; height:30px;
 width:100px; background-color:#0CF; color:#fff;}
ul a:hover{ background-color:#36C;}
li > ul{ display:none; position:absolute; left:0px; top:100%;}
li:hover > ul{ display:block;}
li > ul li { padding:0px; padding-right:1px; padding-top:1px;}
li > ul li > ul{ top:0px; left:100%; padding-left:1px;}
li > ul li > ul li{width:100px;}

看到这个链接 http://jsfiddle.net/bipin_kumar/DjvZ8/7/