我对HTML和CSS相当陌生。我已经创建了一个水平菜单,并且应该按照下拉菜单进行悬停。水平悬停导航菜单
但是,我希望下拉菜单只有在鼠标悬停在链接上时才会出现,而不是下面的空间占用实际下拉内容。
如果有人可以请指出为什么会发生这种情况,以及我如何解决这个问题,那将会很棒。
这里是HTML和CSS。
nav{
text-align:center;
font-family:myFirstFont;
display:inline-block;
position:absolute;
left:320px;
top:56px;
}
.navigation {
list-style-type:none;
word-spacing:50px;
max-width:100%;
font-size:1.2em;
position:relative;
}
.navigation li {
display:inline-block;
position:relative;
}
.navigation a{
text-decoration:none;
color:#00a8e7;
}
.navigation ul {
position:absolute;
text-align:justify;
}
.navigation ul li {
display:block;
position:relative;
right:40px;
opacity:0;
visibility:hidden;
}
.navigation li:hover ul li{
opacity:1;
visibility:visible;
}
<nav>
<ul class="navigation">
<li><a href="#">ABOUT</a>
<ul>
<li><a href="#">COMPANY</a></li>
<li><a href="#">TEAM</a></li>
</ul>
</li>
<li><a href="#">SERVICES</a>
<ul>
<li><a href="#">WEBSITE</a></li>
<li><a href="#">SEO</a></li>
<li><a href="#">LOGO</a></li>
</ul>
</li>
<li><a href="#">PORTFOLIO</a>
<ul>
<li><a href="#">WEBSITES</a></li>
<li><a href="#">LOGO DESIGN</a></li>
</ul>
</li>
<li><a href="#">CONTACT</a>
<ul>
<li><a href="#">PHONE</a></li>
<li><a href="#">EMAIL</a></li>
</ul>
</li>
<li><a href="#">TESTIMONIALS</a></li>
</ul>
</nav>
谢谢萨加尔。解决方案奏效。我明白你所做的。你能否向我解释为什么ul.inner李的工作原理和.navigation ul li不会?我基本上只是调用更广泛的类,即.navigation和ul li,而不是为内部ul创建一个类并通过ul.inner li来调用它。感谢 – zzgooloo
,因为你有两个ul导航,所以如果你只在css中使用.navigation ul,那么css将适用于这两个,这就是为什么我使用类的内部ul ..欢迎 –