有没有办法更改应用于二级子菜单UL的css类?

时间:2011-12-21 作者:Gabe

我在尝试用第二级设置下拉菜单样式时遇到了一个问题。Wordpress似乎也采用了同样的方法。子菜单类到任何和所有子菜单,我无法找到一种可靠的跨浏览器方式来定位第一级。子菜单,同时不点击2ne级别。子菜单。示例:

URL示例:http://getc.thefstopdesign.com/

查看“产品”菜单项下的问题。鞍座和;附件项目有一个自己的子菜单,我想飞到一边,但它正在与第一级子菜单CSS命中。

我从WordPress获得的基本菜单代码:

<ul id="main-menu-nav">
    <li><a href="">one</a></li>
    <li><a href="">two</a>
           <ul id="sub-menu">
               <li><a href="">sub-one</a></li>
               <li><a href="">sub-two</a>
                   <ul class="sub-menu">
                       <li><a href="">sub-sub-one</a></li>
                       <li><a href="">sub-sub-two</a></li>
                   </ul>
               </li>
           </ul>
    </li>
    <li><a href="">three</a>
我使用的基本下拉CSS:

#main-menu-nav li{
    position: relative;
}
#main-menu-nav .sub-menu{
    position: absolute;
    left: -9999px;
}
#main-menu-nav li:hover .sub-menu{
    left: 0;
}
如果第二级菜单可以审查不同的CSS类,那就太好了,但我找不到一种方法。

编辑:我解决了cCSS子选择器问题,一切正常。这是一个无关的问题,与我在CSS其他地方犯的错误有关<;我赢了;别让你厌烦。

我还实现了一种使用jQuery添加此功能的非常简单的方法。类似这样:

$(\'#menu-main-nav > li > ul\').addClass("sub-one");
$(\'#menu-main-nav > li > ul > li > ul\').addClass("sub-two");` 

1 个回复
SO网友:w3uiguru

我已经浏览了您问题中的给定链接,并使用firebug添加和删除了一些css规则。请查看以下css规则。

#menu-main-nav .sub-menu {
  /*left:-9999px;*/ // remove from line 648
}


#menu-main-nav .flyout-parent .sub-menu {
  background: none repeat scroll 0 0 rgba(255, 232, 198, 0.95);
  border-color: #AAAAAA;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  /*left:-9999px;*/ // remove from line 677
  opacity: 0;
  position: absolute;
  width: 240px;
  visibility:hidden; // add this on line 677
}

#menu-main-nav .flyout-parent:hover .sub-menu {
  left: 100%;
  opacity: 1;
  top: -2px;
  visibility: visible; // add this on line 691 
}


#menu-main-nav li:hover .flyout-parent .sub-menu {
  /*left:-9999px;*/ // remove from line 688
  left:100%; 
}
如果您有任何问题或需要更改,请留下评论。

注意:我刚刚使用firebug进行了检查。因此,请备份您的css,然后更改/更新您的css。

结束