【发布时间】:2015-07-02 13:27:44
【问题描述】:
我使用的是 CSS 导航覆盖菜单,代码如下
当您点击导航菜单并选择您要转到的页面时,叠加层会停留并且不会消失..
如果我将它链接到另一个 html 页面,它可以正常工作,但是由于我的所有页面都在一个页面上,所以我通过 href 将它链接到像 (href="#about") 这样的 div
知道单击导航页面后如何使覆盖菜单隐藏吗?
非常感谢您的帮助,谢谢
<nav id="menu">
<input type="checkbox" id="toggle-nav"/>
<label id="toggle-nav-label" for="toggle-nav"></label>
<div class="box">
<ul>
<li><a href="#about">About</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#projects">Work</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</nav>
a { text-decoration: none; }
a:hover { text-decoration: underline; }
li { list-style: none; }
#menu .box {
position: fixed;
text-align: center;
overflow: hidden;
z-index: -1;
opacity: 0;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
background: black;
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
#menu ul {
position: relative;
top: 20%;
-webkit-transform: scale(2);
-moz-transform: scale(2);
-ms-transform: scale(2);
transform: scale(2);
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
#menu li {
margin: 60px;
}
#menu li a {
border-radius: 3px;
padding: 15px;
border: 1px solid transparent;
text-decoration: none;
font-family: 'Montserrat', sans-serif;
font-size: 18px;
color: #fff;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
#menu li a:hover { border-color: #fff; }
#menu li a i {
margin-right: 5px;
font-size: 24px;
}
#toggle-nav-label {
color: black;
text-align: center;
line-height: 30px;
font-size: 30px;
display: block;
cursor: pointer;
position: relative;
z-index: 500;
width: 30px;
height: 30px;
border-radius: 5px;
}
#toggle-nav { display: none; }
#toggle-nav:checked ~ .box {
opacity: 1;
z-index: 400;
}
#toggle-nav:checked ~ .box ul {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
#toggle-nav:checked ~ #toggle-nav-label {
color: white;
position: fixed;
}
【问题讨论】:
-
小改进?抱歉,当您阅读该问题时,我正在编辑该问题,因为我没有将任何代码放在那里
-
对不起,这是对我的编辑的评论..
-
您可能想添加一个演示。或者在标签中添加一些文本或图标,以便我们在尝试运行代码时可以看到一些东西。
-
codepen 那是那里的演示
-
感谢您的演示。我已经更新了我的答案和 codepen 以反映您的需求。
标签: html css drop-down-menu overlay nav