Znalazłem w sieci fajny przykład menu. Jest z nim jednak problem.
W formie mobilnej po kliknięciu na ikonę hamburgera - pojawia się menu z odnośnikami.
Jednak po kliknięciu w odnośnik menu się nie zamyka. Jedynie ikona hamburgera zamyka menu.
Można ten kod zmodyfikować i poprawić?
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Responsive Navbar using JQuery</title>
<link rel="stylesheet" href="style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://kit.fontawesome.com/a076d05399.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script>
$(document).ready(function(){
$('#icon').click(function(){
$('ul').toggleClass('active');
});
});
</script>
</head>
<body>
<nav>
<label class="logo">DesignX</label>
<ul>
<li><a class="active" href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Feedback</a></li>
</ul>
<label id="icon"><i class="fas fa-bars"></i></label>
</nav>
<section></section>
</body>
</html>
CSS
*{
padding: 0;
margin: 0;
text-decoration: none;
list-style: none;
}
body{
font-family: montserrat;
}
nav{
height: 80px;
width: 100%;
background: #34495e;
}
label.logo{
font-size: 35px;
font-weight: bold;
padding: 0 100px;
line-height: 80px;
color: white;
}
nav ul{
float: right;
margin-right: 40px;
}
nav li{
display: inline-block;
margin: 0 8px;
line-height: 80px;
}
nav a{
color: white;
font-size: 18px;
padding: 7px 10px;
text-transform: uppercase;
border-radius: 3px;
border: 1px solid transparent;
}
a.active,a:hover{
transition: .5s;
border: 1px solid white;
}
nav #icon{
color: white;
font-size: 30px;
float: right;
margin-right: 40px;
line-height: 80px;
cursor: pointer;
display: none;
}
@media (max-width: 1048px){
label.logo{
font-size: 32px;
padding-left: 60px;
}
nav ul{
margin-right: 20px;
}
nav a{
font-size: 17px;
}
}
@media (max-width: 909px){
nav #icon{
display: block;
}
nav ul{
position: fixed;
width: 100%;
height: 100vh;
background: #2f3640;
top: 80px;
left: -100%;
text-align: center;
transition: all .5s;
}
nav li{
display: block;
margin: 50px 0;
line-height: 30px;
}
nav a{
font-size: 20px;
}
a.active,a:hover{
border: none;
color: #3498db;
}
nav ul.active{
left: 0;
}
}
section{
background: url(bg1.jpg) no-repeat;
background-size: cover;
height: calc(100vh - 80px);
}