0

我不得不在我的 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;
}

如果有帮助,这是我的 jsfiddle

4

3 回答 3

0

它正在显示。如果你的意思是为什么它不垂直显示,那是因为你有所有 li 的 float:left 和 display:inline :

.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;***
}
于 2013-06-24T22:34:50.007 回答
0

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

此外,您可能无法将鼠标悬停在菜单上,因为它们位于 #navLink1 和 #navLink2 元素之外。将下拉菜单放在 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>
于 2013-06-24T22:39:32.050 回答
0

如果您尝试将下拉菜单与导航项对齐,则应将下拉菜单放在包含的 li 元素中,然后将其定位。此外,对于只希望在 navlist 的直接子 li 元素上而不影响其他子元素的样式,请使用“>”符号。

这是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/

于 2013-06-24T23:11:10.257 回答