我正在尝试使用HTML、CSS和JS创建导航栏。然而,我在尝试切换汉堡包时遇到了问题。当您单击汉堡包时滑动菜单会弹出,再次单击汉堡包时会隐藏滑动菜单。
为了解决这个问题,我创建了两个函数并通过内联方式调用opennav函数。
为了解决这个问题,我创建了两个函数并通过内联方式调用opennav函数。
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
@import url('https://fonts.googleapis.com/css?family=Rubik');
body {
margin: 0;
font-family: "Rubik", sans-serif
}
.topnav {
position: relative;
overflow: hidden;
background-color: #122B3C;
height: 65px;
}
.topnav a {
float: left;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav a.active {
background-color: #4CAF50;
color: white;
}
.topnav-centered a {
float: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.topnav-right {
float: right;
}
.hamburger {
display: inline-block;
cursor: pointer;
position: fixed;
z-index: 999;
}
.home-hamburger {
position: static;
}
.nav-center {
position: absolute;
left: 48%;
width: 40px;
margin-left: -20px;
/* halve the width of the image */
}
.doch {
position: fixed !important;
top: 0;
}
.bar1,
.bar2,
.bar3 {
width: 40px;
height: 3px;
background-color: #ffffff;
margin: 7px 0;
transition: 0.4s;
}
.sidenav {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #304C58;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidenav a {
padding: 8px 8px 8px 16px;
text-decoration: none;
font-size: 25px;
color: #122B3C;
display: block;
transition: 0.3s;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 10px;
}
.sidenav a:hover {
color: #f1f1f1;
}
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
3 @media screen and (max-height: 450px) {
.sidenav {
padding-top: 15px;
}
.sidenav a {
font-size: 18px;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="topnav">
<div class="topnav-centered">
<a href="#home"><img src="https://via.placeholder.com/350x150" alt=""></a>
</div>
<a href="#news">
<div id="toggle" class="hamburger" onclick="openNav()">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
</a>
</div>
<div style="padding-left:16px">
<h2>Responsive Top Navigation with Centered and Right-Aligned Links</h2>
<p>Resize the browser window to see the responsive effect.</p>
</div>
<div id="mySidenav" class="sidenav">
<a href="#">What we do</a>
<a href="#">How we do it</a>
<a href="#">Team</a>
<a href="#">Work for us</a>
<a href="#">Jobs</a>
<a href="#">Contact Us</a>
</div>
解决我的问题的代码是https://codepen.io/mrsalami/pen/JadoyR