CSS导航菜单没有嵌套在移动版本中

时间:2015-06-30 14:03:23

标签: html css

所以我正在玩我的下拉菜单项的定位。当我在桌面版中正确查看它们时,它们会位于移动版本的顶级按钮之上,而不是将它们推下来。当我将它们正确嵌套在移动版本中时,它们位于桌面版的蓝色背景中。以下是我网站的链接:http://membershq.incentiveusa.com/AwardPages/GoalUp_Test2/index_test2.html

这是HTML:

        <div class="container-fluid">
         <div class="section-title2 text-center">        
                <div class="navigation">
                    <label for="show-menu" class="show-menu">Show Menu</label>
<input type="checkbox" id="show-menu" role="button">
<ul id="menu">
    <li><a href="about.html">About Us</a>
    <ul>

    <li><a href="news.html">News</a></li>
    </ul></li>
    <li><a href="HowItWorks.html">How It Works</a>
    <ul>
    <li><a href="FactsStats.html">Facts</a></li>
    <li><a href="ParentingTools.html">Tools</a></li>
    </ul>
    </li>

    <li><a href="testimonials.html">Testimonials</a></li>

    <li><a href="awards.html">Brand Name Awards</a></li>
    <li><a href="contact.html">Contact</a></li>
</ul>

</div></div></div>

这是CSS:

.navigation{
margin-right: auto;
margin-left: auto;
width: 100%;
background-color: #0f9cde;
position: absolute;
display: block;
margin-bottom: 15px;
z-index: 1000;
top: 735px;
margin-left: -15px;
}
/*Strip the ul of padding and list styling*/
.navigation ul{
list-style-type: none;
margin: 0 auto;
padding: 0;
position: relative;
z-index: 1000;
text-align:center;



}

/*Create a horizontal list with spacing*/
.navigation li{
display:inline-block;
margin-right: 0px;
background-color:#0f9bde;
vertical-align: top;
}

/*Style for menu links*/
.navigation li a {

min-width: 189px;
height: 50px;
text-align: center;
line-height: 50px;
font-family: 'Maven Pro', sans-serif;
font-size:18px;
color: #fff;
width:100%;
background-color: #0f9cde;
text-decoration: none;
display:block;

}

/*Hover state for top level links*/
.navigation li:hover a {
color: #f7a800;
text-decoration: underline;
}

/*Style for dropdown links*/
.navigation li:hover ul a {
background: #f7a800;
color: #ffffff;
height: 40px;
line-height: 40px;

}

/*Hover state for dropdown links*/
.navigation li:hover ul a:hover {
background: #fff;
color: #f7a800;
}

/*Hide dropdown links until they are needed*/
.navigation li ul{
display: none;
position: absolute;
}

/*Make dropdown links vertical*/
.navigation li ul li {
display: block;
float: none;
}

/*Prevent text wrapping*/
.navigation li ul li a {
width: auto;
min-width: 100px;
padding: 0 20px;
}

.navigation ul li:hover ul{
display:block;
}

/*Display the dropdown on hover*/
.navigation ul li a:hover  {
display: block;

}



/*Style 'show menu' label button and hide it by default*/
.show-menu {
font-family:'Maven Pro', sans-serif;
text-decoration: none;
color: #fff;
background: #f7a800;
text-align: center;
padding: 10px 0;
display: none;
}

/*Hide checkbox*/
input[type=checkbox]{
display: none;
-webkit-appearance: none;
}

/*Show menu when invisible checkbox is checked*/
input[type=checkbox]:checked ~ #menu{
display: block;
}

#menu ul {min-width: 189px; }

/*Responsive Styles*/

@media screen and (max-width : 975px){
/*Make dropdown links appear inline*/
.navigation ul {
    position: static;
    display: none;
}
/*Create vertical spacing*/
.navigation li {
    margin-bottom: 1px;
}
/*Make all menu links full width*/
.navigation ul li, li a {
    width: 100%;
}
.navigation li ul li {
    width: 100%;
}
#menu ul {min-width: 100%;}
/*Display 'show menu' link*/
.show-menu {
    display:block;
}
}

1 个答案:

答案 0 :(得分:1)

您可以使用媒体查询来更改移动设备上的行为。试试这个:

@media (max-width: 480px) {
   #menu ul {
       position: static;
   }
}

截至目前,儿童ul仍然是绝对定位,并将覆盖菜单的其余部分。如果将其设置为静态,则宁可“按下”菜单项同胞。