Não aparece nenhum erro no console do JavaScript, porém o menu ainda não está funcionando, aliás por padrão ele está aberto dentro do botão com a classe "menu-fechar"
Código HTML
<header>
<div class="container">
<button class="menu-abrir">Abre Menu</button>
<h1 class="logo">
<img src="img/logo.png" alt="Notícias.com">
</h1>
<nav class="barra-nav">
<button class="menu-fechar">Fecha Menu</button>
<ul class="menu-principal">
<li><a href="noticias.html" class="noticias">Notícias</a>
<li><a href="esportes.html" class="esportes">Esportes</a>
<li><a href="famosos.html" class="famosos">Famosos</a>
</ul>
<form class="busca">
<input type="search" id="campo-busca">
<button type="submit">Buscar</button>
</form>
</nav>
</div>
</header>
Código CSS
@media (max-width: 600px){
.barra-nav{
background: #f0f0f0;
padding: 1em;
margin: 0;
height: 100%;
width: 90%;
max-width: 320px;
position: fixed;
z-index: 1;
top: 0;
left: 90%
transition: left 0.3s ease-out;
}
.menu-ativo .barra-nav{
left: 0;
}
.menu-ativo:after{
content: "";
display: block;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(0, 0, 0, 0.4);
}
.menu-principal li{
padding: 1em 0;
width: 100%;
}
}
@media not all and (max-width: 600px){
.menu-abrir,
.menu-fechar{
display: none;
}
}
Código JS
document.querySelector('.menu-abrir').onclick = function(){
document.documentElement.classList.add(".menu-ativo");
}
document.querySelector('.menu-fechar').onclick = function(){
document.documentElement.classList.remove(".menu-ativo");
}
document.documentElement.onclick = function(event){
if (event.target === document.documentElement){
document.documentElement.classList.remove('menu-ativo');
}
}