微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CSS下载导航,第3级问题

我正试图在这个CSS导航菜单上获得第三级的弹出/下拉菜单.第二级效果很好,只有当您将鼠标悬停在正确的顶级链接上时才会显示.但是,当你将鼠标悬停在TOP级别时,第3级显示.它应该被隐藏,直到您将鼠标悬停在右下拉链接上,然后向右飞出.我的位置是正确的,但我需要隐藏它,直到右边的链接悬停.

这是我正在处理的网站:http://174.37.160.21(第三层在产品下).

这是我整个菜单的CSS.我确信它很容易被发现,但我已经尝试了所有我能想到的东西.我不是CSS向导或任何东西.

.menu { height:32px; position:relative; z-index:100; }
.menu ul {padding:0;margin:0;list-style-type:none;}
.menu li {float:left;width:auto; padding-left:6px; padding-right:6px; position:relative;}
.menu ul li a { font-size:13px; }

.menu ul li ul li a { font-size:13px; }
.menu a,.menu a:visited {display:block; font-size:15px; text-decoration:none; color:#454545; height:30px; border:1px; padding-left:10px;}
.menu ul ul { visibility:hidden; position:absolute; height:0; top:20px; left:0; width:150px; }
.menu ul ul li { background:#272727; width:150px; text-align:left; padding-top:5px; padding-bottom:5px; }
.menu ul ul li:hover { background:#454545; }

.menu ul ul ul { visibility:hidden; position:absolute; height:0; top:0; left:150px; width:150px; }
.menu ul ul ul li { background:#272727; width:150px; text-align:left; padding-top:5px; padding-bottom:5px; }
.menu ul ul ul li:hover { background:#454545; }

.menu table {position:absolute; top:0; left:0; border-collapse:collapse;} /* style the table so that it takes no ppart in the layout - required for IE to work */
.menu ul ul a,.menu ul ul a:visited,.menu ul ul ul a,.menu ul ul ul a:visited { color:#fff; height:auto;}
.menu a:hover,.menu ul ul li:hover { }
.menu :hover > a,.menu ul ul :hover > a,.menu ul ul ul :hover > a {}
.menu ul li:hover ul,.menu ul a:hover ul,.menu ul ul li:hover ul { visibility:visible; }

这是我的HTML代码

<ul>
  <li><a href="/">Home</a>
              <li><a href="/about-us.html">About Us</a></li>
    <li><a href="/garage-door-services.html">Services</a>
                  <ul>
                    <li><a href="/residential-garage-door-services.html">Residential</a></li>
                    <li><a href="/commercial-overhead-door-services.html">Commerical</a></li>
                    <li><a href="/emergency-door-repair-services.html">Emergency</a></li>
                    <li><a href="/garage-door-preventative-maintenance.html">Maintenance</a></li>
                    </ul>
                </li>
  <li><a href="/garage-door-products.html">Products</a>
                  <ul>
                    <li><a href="#">Garage Doors</a>
                      <ul>
                        <li><a href="#">Residential Garage Doors</a></li>
                        <li><a href="#">Commercial Garage Doors</a></li>
                      </ul>
                    </li>
                        <li><a href="#">Openers & Operators</a></li>
                    </ul>
                </li>
                <li><a href="#">Online Store</a>
                     <ul>
                       <li><a href="/replacement-garage-door-remotes.html">Replacement Remotes</a></li>
                       <li><a href="/keyless-garage-entry.html">Keyless Entry</a></li>
                       <li><a href="/garage-door-gears-sprockets-parts.html">Gears & Sprocket Parts</a></li>
                         <li><a href="/garage-door-safety-beams.html">Safety Beams</a></li>
                         <li><a href="/garage-door-lube-grease.html">Lube & Grease</a></li>
                  </ul>
                </li>
                <li><a href="/contact-us.html">Ask a Pro</a>
                  <ul>
                      <li><a href="#">Submit a Question</a></li>
                        <li><a href="#">Newsletter</a></li>
                        <li><a href="#">FAQ's</a></li>
                        <li><a href="#">News</a></li>
                    <li><a href="#">Seasonal Tips</a></li>
                    </ul>
                </li>
            </ul>

解决方法

这是使子菜单可见的部分:
.menu ul li:hover ul,.menu ul ul li:hover ul { visibility:visible; }

现在,我不确定你的标记是什么(我只能猜测看到.menu表和a:悬停ul …),但是使用基于标准列表的标记,这部分太贪心了:

.menu ul li:hover ul

这将选择li中的所有ul元素:一直向下悬停,直到最后一个.我想你只想选择直系后代:

.menu ul li:hover > ul

我改变的是添加>字符.演示:http://jsfiddle.net/dgUFw/

编辑:使用您刚发布的HTML更新了演示:http://jsfiddle.net/dgUFw/1/

您的帖子中缺少.menu元素,因此我将整个内容包装在< div class =“menu”>中它似乎工作正常.

原文地址:https://www.jb51.cc/css/217456.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。