Bonjour à vous tous,
Actuellement, j'étudie la Flexbox et j'essaye de réaliser un menu responsive sans utiliser les listes <ul> et <li> mais les propriétés Flexbox. Je voudrais mettre un événement Javascript sur le bouton "MENU", quand je suis en mode affichage smartphone, pour fermer et ouvrir le menu mais je ne connais pas bien Javascript et évidemment ça ne fonctionne pas ce que j'ai fait. Quelqu'un pourrait debugger mon code Javascript ?
Merci pour votre aide et
que le code soit avec vous !
Voici le code HTML, CSS et Javascript :
Voici le résultat en mode normal :
Voici le résultat sur un écran smartphonne :
Modifié par ObiJuanKenobi (13 Feb 2024 - 08:13)
Actuellement, j'étudie la Flexbox et j'essaye de réaliser un menu responsive sans utiliser les listes <ul> et <li> mais les propriétés Flexbox. Je voudrais mettre un événement Javascript sur le bouton "MENU", quand je suis en mode affichage smartphone, pour fermer et ouvrir le menu mais je ne connais pas bien Javascript et évidemment ça ne fonctionne pas ce que j'ai fait. Quelqu'un pourrait debugger mon code Javascript ?
Merci pour votre aide et
que le code soit avec vous !
Voici le code HTML, CSS et Javascript :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Propriétés CSS Flexbox</title>
<style>
.menu-container {
display: flex;
justify-content: space-between;
align-items: center;
background-color: black;
}
.menu-item {
color: white;
padding: 1rem;
}
.menu-item:hover {
background-color: white;
color: black;
}
.menu-container::before {
content: "MENU";
display: none;
color: white;
cursor: pointer;
}
@media (max-width: 600px) {
.menu-container {
flex-wrap: wrap;
justify-content: center;
}
.menu-item {
flex-basis: 100%;
text-align: center;
}
.menu-container::before {
display: block;
padding: 1rem;
}
}
</style>
</head>
<body>
<nav class="menu-container">
<a href="#" class="menu-item">Accueil</a>
<a href="#" class="menu-item">A propos</a>
<a href="#" class="menu-item">Services</a>
<a href="#" class="menu-item">Contacts</a>
</nav>
<script>
const menuButton = document.querySelector('.menu-container::before');
const menuNav = document.querySelector('.menu-container');
menuButton.addEventListener('click', () => {
menuNav.classList.toggle('menu-open');
});
</script>
</body>
</html>
Voici le résultat en mode normal :
Voici le résultat sur un écran smartphonne :
Modifié par ObiJuanKenobi (13 Feb 2024 - 08:13)