0

我试图在菜单悬停时打开一个子菜单,但它不起作用,有人知道为什么会这样吗?子菜单也显示在菜单上。悬停时,子菜单应在菜单右侧打开。

下面是我的代码

<ul class="left_menu">        

                <li class="odd"><a href="#">kkk</a>
                    <ul class="smenu">
                        <li><a href="#">Photoshop</a></li>
                        <li><a href="#">Illustrator</a></li>
                        <li><a href="#">Web Design</a></li>
                    </ul>
                </li>

                <li class="even"><a href="#">bbb</a>
                    <ul class="smenu">
                        <li><a href="#">Photoshop</a></li>
                        <li><a href="#">Illustrator</a></li>
                        <li><a href="#">Web Design</a></li>
                    </ul>
                </li>

   </ul>

CSS

ul.left_menu{
width:180px;
padding:0px;
margin:0px;
list-style:none;
}
ul.left_menu li{
margin:0px;
list-style:none;

}
ul.left_menu li.odd a{
width:166px;height:25px;display:block; border-bottom:1px #e4e4e4 dashed;
text-decoration:none;color:#504b4b;padding:0 0 0 14px; line-height:25px;
}

ul.left_menu li.odd:hover
{
    display:block;
    color: #FFB03B;
}

ul.left_menu li.even:hover
{
    display:block;
    color: #FFB03B;
}
4

3 回答 3

1
Check this JSfiddle demo which i created, may be this will solve your issue.

JSFIDDLE

于 2013-09-25T11:05:01.003 回答
1

首先将子菜单设置为不可见。

ul.left_menu ul {
  display: none;
}

然后代替:

ul.left_menu li.odd:hover
{
    display:block;
    color: #FFB03B;
}

利用:

ul.left_menu li.odd:hover ul
{
    display:block;
    color: #FFB03B;
}
于 2013-09-25T09:57:56.133 回答
1

将您的 CSS 更改为:

ul.left_menu{
width:180px;
padding:0px;
margin:0px;
list-style:none;
}
ul.left_menu li{
margin:0px;
list-style:none;

}
ul.left_menu li.odd a{
width:166px;height:25px;display:block; border-bottom:1px #e4e4e4 dashed;
text-decoration:none;color:#504b4b;padding:0;
line-height:25px;
}
.smenu{
display:none
}
ul.left_menu li.odd:hover .smenu
{
display:block;
color: #FFB03B;
}

ul.left_menu li.even:hover .smenu
{
display:block;
color: #FFB03B;
}
于 2013-09-25T09:56:40.867 回答