Envie seu primeiro script ao navegador
Vamos adicionar um menu hambúrguer para abrir e fechar seus links em tamnhos de tela móveis, que necessita de interatividade no lado do cliente!
Se prepare para...
- Criar um componente de menu hambúrguer
- Escrever um
<script>
para permitir visitantes do site abrirem e fecharem o menu de navegação - Mover seu JavaScript para seu arquivo
.js
Construa um componente Hambúrguer
Seção intitulada Construa um componente HambúrguerCrie um componente <Hamburguer />
para abrir e fechar sua navegação móvel.
-
Crie um arquivo chamado
Hamburguer.astro
emsrc/components/
-
Copie o seguinte código em seu componente. Isso irá representar o seu menu “hambúrguer” de 3-linhas para abrir e fechar seus links de navegação em dispositivos móveis. (Você vai adicionar os novos estilos CSS ao
global.css
posteriormente.)src/components/Hamburguer.astro ------<div class="hamburguer"><span class="line"></span><span class="line"></span><span class="line"></span></div> -
Coloque esse novo componente
<Hamburguer />
logo antes do seu componente<Navigation />
emHeader.astro
.Me mostre o código!
src/components/Header.astro ---import Hamburguer from './Hamburguer.astro';import Navigation from './Navigation.astro';---<header><nav><Hamburguer /><Navigation /></nav></header> -
Adicione os seguintes estilos ao seu componente Hambúrguer:
src/styles/global.css /* estilos da navegação */.hamburguer {padding-right: 20px;cursor: pointer;}.hamburguer .line {display: block;width: 40px;height: 5px;margin-bottom: 10px;background-color: #ff9776;}.nav-links {width: 100%;top: 5rem;left: 48px;background-color: #ff9776;display: none;margin: 0;}.nav-links a {display: block;text-align: center;padding: 10px 0;text-decoration: none;font-size: 1.2rem;font-weight: bold;text-transform: uppercase;}.nav-links a:hover, a:focus {background-color: #ff9776;}.expanded {display: unset;}@media screen and (min-width: 636px) {.nav-links {margin-left: 5em;display: block;position: static;width: auto;background: none;}.nav-links a {display: inline-block;padding: 15px 20px;}.hamburguer {display: none;}}
Escreva sua primeira tag de script
Seção intitulada Escreva sua primeira tag de scriptSeu cabeçalho ainda não é interativo pois ele não consegue responder as interações do usuário, como clicar no menu hambúrguer para mostrar ou esconder os links de navegação.
Adicionar uma tag <script>
fornece JavaScript no lado do cliente para “escutar” por um evento do usuário e então responder de acordo.
-
Adicione a seguinte tag
<script>
emindex.astro
, logo antes da tag de fechamento</body>
.src/pages/index.astro <Footer /><script>document.querySelector('.hamburguer').addEventListener('click', () => {document.querySelector('.nav-links').classList.toggle('expanded');});</script></body>