【发布时间】:2021-01-03 23:00:21
【问题描述】:
到目前为止,我的网站上的响应式导航栏是一个精简的单页,到目前为止,我已经能够让所有其他工作正常工作。虽然其他所有组件都可以正常工作,但主要问题在于移动版本,单击锚链接时导航栏不会关闭。它最终覆盖了内容并为用户创造了糟糕的体验。这将如何在代码中修复?代码如下:
<nav>
<input type="checkbox" id="check">
<label for="check" class="checkbtn">
<i class="fas fa-bars"></i>
</label>
<label>
<a href="index.html">
<img src="logo.png" alt="Logo" class="logo"/>
</a>
</label>
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#features">Features</a></li>
<li><a href="#about">About</a></li>
<li><a href="login.html">Login</a></li>
</ul>
</nav>
/* NAVBAR */
*{
padding: 0;
margin: 0;
text-decoration: none;
list-style: none;
box-sizing: border-box;
}
body{
font-family: 'Nunito', sans-serif;
}
nav{
background: white;
height: 80px;
width: 100%;
}
.logo {
margin-left: 25px;
width: 80px;
height: 80px;
}
nav ul{
float: right;
margin-right: 20px;
}
nav ul li{
display: inline-block;
line-height: 80px;
margin: 0 5px;
}
nav ul li a{
color: black;
font-size: 17px;
padding: 7px 13px;
border-radius: 3px;
text-transform: uppercase;
}
a.active,a:hover{
background: #B9ECFF;
transition: .5s;
}
.checkbtn{
font-size: 30px;
color: black;
float: right;
line-height: 80px;
margin-right: 40px;
cursor: pointer;
display: none;
}
#check{
display: none;
}
@media (max-width: 952px){
label.logo{
font-size: 30px;
padding-left: 50px;
}
nav ul li a{
font-size: 16px;
}
}
@media (max-width: 858px){
.checkbtn{
display: block;
}
ul{
position: fixed;
width: 100%;
height: 100vh;
background: white;
top: 80px;
left: -100%;
text-align: center;
transition: all .5s;
}
nav ul li{
display: block;
margin: 50px 0;
line-height: 30px;
}
nav ul li a{
font-size: 20px;
}
a:hover,a.active{
background: none;
color: #25C0F8;
}
#check:checked ~ ul{
left: 0;
}
}
【问题讨论】:
标签: javascript html css mobile navbar