<div id="main-body">
<!--上层-->
<header>
<h1>左</h1>
<div id="menu" (click)="clickR()">点我</div>
</header>
<div class="nav" id="navMenu">
<div id="close" (click)="close()">x</div>
<div>内容</div>
</div>
<main>
其他内容
</main>
<div class="overlay"></div>
</div>
#main-body {
transition: all 0.7s;
}
#main-body header {
height: 15vh;
background-color: #92b35a;
color: #333;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem;
}
#main-body .nav {
list-style: none;
width: 0;
height: 100vh;
background-color: #86c28b;
transition: all 0.4s linear;
overflow-x: hidden;
position: fixed;
top: 0;
right: 0;
z-index: 1;
}
#main-body .nav #close {
width: 20px;
height: 20px;
line-height: 20px;
text-align: center;
background-color: darkred;
}
#main-body .overlay {
width: 100%;
height: 100vh;
background: rgba(53, 52, 52, 0.43);
position: absolute;
pointer-events: none;
top: 0;
left: 0;
visibility: hidden;
transition: all 0.5s linear;
}
let nav = document.querySelector('#navMenu');
let bodys=document.querySelector('#main-body')
let clear=document.querySelector('#close')
let overlay = document.querySelector('.overlay');
document.querySelector('#menu').addEventListener('click',e=>{
nav.style.width = '250px';
bodys.style.marginRight = '250px';
overlay.style.visibility='visible'
})
document.querySelector('#close').addEventListener('click',e=>{
nav.style.width = '0';
bodys.style.marginRight = '0';
overlay.style.visibility='hidden';
})
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.