为什么我的下拉菜单不显示为块?

时间:2013-06-24 22:16:47

标签: html css drop-down-menu block

我不得不重新安排我的CSS中的一些内容,现在我的下拉菜单不显示为块。下拉菜单是通过jquery进行的,但我知道代码是正确的。现在它是和HTML或CSS问题。我会发布css,如果需要html让我知道,我会添加它。

HTML:

<nav id="navigation">
    <ul class="navList">
        <li><a class="navLink" href="">Home</a></li>

        <li id="navLink1"><a class="navLink" href="">Services</a></li>
        <ul class="dropDown" id="dropDown1">
            <li>Pricing</li>
            <li>Examples</li>
            <li>Additional Services</li>
        </ul>

        <li id="navLink2"><a class="navLink" href="">Info</a></li>
        <ul class="dropDown" id="dropDown2">
            <li>About Us</li>
            <li>Our Portfolio</li>
        </ul>

        <li><a class="navLink" href="">FAQ's</a></li>
    </ul>   
</nav>

CSS:

    #navigation{
    width: 100%;
    height: 50px;
    padding-bottom: 0px;
}
.navList li{
    list-style: none;
    text-align: left;
    display: inline;
    float: left;
    padding: 5px;
    margin-right: 25px;
    font-size: 20px;
    border-radius: 15px; 
}
.navList li:hover{
    background-color: #3399FF;
}
.navLink{
    text-decoration: none;
    color: black;
    text-shadow: 2px 2px 5px white;
}
.dropDown{
    position: absolute;
    z-index: 1;
    background-color: rgba(46, 184, 230, .9);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 0px;
    border-left: 2px solid lightgray;
    border-right: 2px solid lightgray;
}
.dropDown li{
    list-style: none;
    text-align: left;
    padding: 5px;

}
.dropDown li:hover{
    background-color: #3399FF;
}
#dropDown1{
        top: 185px;
        left: 272px;
        display: none;
}
#dropDown2{
        top: 185px;
        left: 382px;    
        display: none;
}

here is my jsfiddle if it helps

3 个答案:

答案 0 :(得分:0)

正在显示。如果你的意思是为什么它没有垂直显示,那是因为你有浮动:左边和显示:内联所有的li:

.navList li{
list-style: none;
text-align: left;
***float:left;***
***display: inline;***
padding: 5px;
margin-right: 25px;
font-size: 20px;
border-radius: 15px; 
}

您需要添加的是:

.dropDown li{
list-style: none;
text-align: left;
padding: 5px;
***float:none;***
***display:block;***
}

答案 1 :(得分:0)

当jQuery切换它们时,看起来你的下拉菜单显示为块。 ul.dropDown元素中的子li元素未设置为显示为块。

另外,您可能无法将鼠标悬停在菜单上,因为它们位于#navLink1和#navLink2元素之外。将dropDown放在navLink上可能会有所帮助。

<li id="navLink1">
  <a class="navLink" href="">Services</a>
  <ul class="dropDown" id="dropDown1">
    <li>Pricing</li>
    <li>Examples</li>
    <li>Additional Services</li>
  </ul>
</li>

答案 2 :(得分:0)

如果您尝试将下拉列表与导航项对齐,则应将下拉列表放在包含li元素内,然后将其放置。此外,对于您只想要导航列表的直接子li元素而不影响其他子女孩的样式,请使用“&gt;”符号

这是CSS:

#navigation{
    width: 100%;
    height: 50px;
    padding-bottom: 0px;
}
.navList li{
    list-style: none;
    text-align: left;
    padding: 5px;
    margin-right: 25px;
    font-size: 20px;
    border-radius: 15px; 
}
.navList > li {
    display: inline;
    position: relative;
    overflow: visible;
}
.navList li:hover{
    background-color: #3399FF;
}
.navLink{
    text-decoration: none;
    color: black;
    text-shadow: 2px 2px 5px white;
}
.dropDown{
    position: absolute;
    z-index: 1;
    top: 30px;
    left: 0;
    display: none;
    background-color: rgba(46, 184, 230, .9);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 0px;
    border-left: 2px solid lightgray;
    border-right: 2px solid lightgray;
}
.dropDown li{
    list-style: none;
    text-align: left;
    display: block;
    padding: 5px;
}
.dropDown li:hover{
    background-color: #3399FF;
}

检查出来:http://jsfiddle.net/Sd37W/18/