Navbar Responsiva
Parte da seção JavaScript in Action do Journey de HTML da Coddy — lição 26 de 27.
Desafio
FácilTemos o HTML e o CSS para o menu hambúrguer e a navegação em nosso site sobre a civilização Maia.
Sua tarefa é fazer o JavaScript funcionar para que o menu abra e feche quando o botão for clicado.
Siga estas etapas:
- Crie uma variável para armazenar o elemento do botão hambúrguer usando
getElementById("burger"). - Crie outra variável para armazenar o menu de navegação usando
getElementById("navMenu"). - Adicione um ouvinte de evento (event listener) no botão para que, quando ele for clicado, uma função seja executada.
- Dentro desta função:
- Alterne (toggle) a classe
"active"no botão (isso animará as 3 linhas). - Alterne (toggle) a classe
"active"no menu (isso mostrará ou ocultará os links).
- Alterne (toggle) a classe
Quando feito corretamente, clicar no botão hambúrguer deve animar as linhas em um "X" e mostrar o menu de navegação.
Experimente você mesmo
<!DOCTYPE html>
<html>
<head>
<title>Maya Civilization</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="logo">Maya World</div>
<div id="burger" class="burger-btn">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
<nav id="navMenu" class="nav-links">
<a href="#">Home</a>
<a href="#">History</a>
<a href="#">Culture</a>
<a href="#">Architecture</a>
</nav>
</header>
<main>
<section class="hero">
<h1>The Maya Civilization</h1>
<p>
The Maya civilization thrived in Mesoamerica, known for its remarkable
achievements in astronomy, mathematics, and monumental architecture.
</p>
</section>
<section class="content">
<h2>Legacy of the Maya</h2>
<p>
The Maya left behind impressive cities, pyramids, and written language.
Their deep knowledge of astronomy influenced calendars and rituals, while
their art and traditions continue to inspire today.
</p>
<img src="https://upload.wikimedia.org/wikipedia/commons/e/ea/El_Castillo%2C_Chich%C3%A9n_Itz%C3%A1.jpg"
alt="Maya Pyramid" class="content-img">
</section>
</main>
<script src="script.js"></script>
</body>
</html>
Todas as lições de JavaScript in Action
9Desafios Finais
Accordion de FAQ interativoFormulário de LoginNavbar ResponsivaPágina de Blog com Tema