Créer un menu plein écran au clic

Avoir un menu, c'est devenu un grand classique indispensable. Mais avoir un menu qui prend tout l'écran, c'est idéal lorsqu'on veut que son site soit totalement responsive (et donc adapté aux appareils mobiles par exemple). Cet article va vous aider à mettre en place un menu plein écran qui se déclenche au clic !
•
Mis à jour le 14 août 2026
•
3 min de lecture
Believemy logo
Créer un menu plein écran au clic

Avoir un menu, c'est devenu un grand classique indispensable. Mais avoir un menu qui prend tout l'écran, c'est idéal lorsqu'on veut que son site soit totalement responsive (et donc adapté aux appareils mobiles par exemple). Cet article va vous aider à mettre en place un menu plein écran qui se déclenche au clic !

Vous pouvez retrouver l'ensemble de ce tutoriel sur notre compte Instagram

 

1ère étape

Pour commencer nous devons créer la structure de notre site : on passe donc au HTML.

HTML
<nav>
  <div class="backdrop"></div>
  <ul>
    <li><a href="#">Accueil</li>
    <li><a href="#">Blog</li>
    <li><a href="#">Projets</li>
    <li><a href="#">Contact</li>
  </ul>
</nav>

<button>
  Menu
</button>

Il n'y a rien de très compliqué aussi, notez surtout qu'on utilise une classe backdrop qui va nous permettre de créer une ombre qui va venir se déclencher et recouvrir l'ensemble de la page au clic du bouton.

 

2ème étape

Passons maintenant au style de notre bouton, on va lui donner un look moderne :

CSS
button {
  background: #ff9234;
  color: white;
  border: 0;
  padding: .5em 1em;
  font-size: 1.5em;
  border-radius: 1em;
  outline: 0;
  cursor: pointer;
  transition: all .1s;
}
button:hover {
  background: #35d0ba;
}

 

3ème étape

On passe maintenant au style du menu une fois déployé :

CSS
nav {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: none;
}

ul {
  list-style: none; padding: 0; z-index: 2;
}

ul li {
  text-align: center;
  animation: .3s print;
}

li a {
  text-decoration: none; font-size: 3em;
  text-transform: uppercase;
  font-weight: bold; font-family: arial;
  color: white;
}

ul li a:hover { color: #ff9234; }

.open {
  display: flex;
  justify-content: center;
  align-items: center;
}

Un peu plus long, mais toujours aussi simple. On créera une animation plus tard, c'est pour ça que nous appellons une animation dans la balise li qui s'appelle print.

On peut également noter qu'il y a une classe open qui ne sert à rien pour le moment. Cette classe sera ajoutée grâce à JavaScript pour ouvrir notre menu. On utilise d'ailleurs flexbox pour centrer horizontalement et verticalement tous les liens du menu.

 

4ème étape

Passons maintenant à notre classe backdrop et donc à notre ombre ! Ici rien de très nouveau, nous allons mettre la classe en position absolute en lui donnant "top", "left", "right" et "bottom" à 0 pour lui faire prendre toute la page. On utilisera d'ailleurs également une animation pour faire apparaître l'ombre, qu'on appellera fade.

CSS
.backdrop {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, .9);
  cursor: pointer;
  animation: fade .1s;
}

 

5ème étape

Nous avons notre design qui est terminé, il nous suffit maintenant de créer les animations pour afficher notre beau menu avec une classe ultime.

CSS
@keyframes print {
  from {
    margin-top: -50px; opacity: 0;
  }
  to {
    margin-top: 0; opacity: 1;
  }
}

@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

 

6ème étape

Il ne reste maintenant plus qu'à faire fonctionner le tout en utilisant JavaScript.

JAVASCRIPT
const button = document.querySelector('button');
const nav = document.querySelector('nav');
const backdrop = document.querySelector('.backdrop');

button.addEventListener('click', () => {
  nav.classList.add('open');
});

backdrop.addEventListener('click', () => {
  nav.classList.remove('open');
});

Lorsque le bouton "Menu" est cliqué, on ajoute la classe open à notre barre de navigation ce qui va le faire apparaître.

Si l'utilisateur clique dans l'ombre (backdrop), on retire la classe open et on cache la barre de navigation.

Catégorie : Développeurs

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.

Believemy logo
Commentaires (0)

Vous devez être connecté pour commenter cet article : se connecter ou s'inscrire.

À lire ensuite

Créer un menu qui s'étend sur toute la page avec CSS

Il nous arrive de temps en temps de devoir demander à notre visiteur sur quelle page il veut aller, en lui affichant les principales sections de notre site internet. Ce menu n'est pas souvent très agréable à utiliser, découvrons ensemble dans cet article comment faire pour le rendre beaucoup plus moderne avec de belles animations qui donneront à vos passants l'envie de visiter votre site !

19 novembre 2020

Détecter le "swap" pour fermer un menu

Pensez à vos utilisateurs lorsqu'ils visitent votre site internet sur leurs appareils mobiles : leur permettre de fermer votre menu en utilisant le "swap" leur facilitera grandement leur expérience sur votre site, vous aurez ainsi une meilleure expérience utilisateur ce qui augmente vos chances de fidéliser. Découvrons ensemble comment le faire dans cet article !

21 janvier 2021

Créer un bouton NÉON avec CSS

Créer un bouton, c'est bien ! Mais créer un bouton sur lequel vos visiteurs ont envie de cliquer, c'est déjà autre chose. Ce bouton de type néon attirera en tout cas l'oeil de tout ceux qui visiteront vos pages.

29 juin 2020

Faire des boutons encerclés au survol

Pour un menu ou pour proposer à vos lecteurs de partager votre site internet, des boutons de partage sont des éléments à impérativement ajouter à votre site internet. Découvrons comment les rendre plus moderne grâce à un effet « néon » qui entourera le l’icône sélectionnée par votre utilisateur.

20 décembre 2020

Créer un bouton qui s'enfonce avec CSS

Les boutons sur un site sont les principaux déclencheurs d'action : les styliser et les dynamiser est très important dans vos processus de développement ! C'est l'objectif de cet article.

10 juin 2020

Créer une fenêtre modale sans utiliser JavaScript

Vous avez souvent voulu créer une fenêtre modale (une fenêtre qui s'ouvre à l'intérieur de votre site internet) mais vous ne connaissez par JavaScript ? Découvrons ensemble comment réussir à y parvenir !

8 février 2021

Créer une barre de navigation avec un indicateur animé

Vous avez toujours voulu faire une barre de navigation dynamique avec un indicateur qui glisse tout doucement en-dessous de la nouvelle page sur laquelle vous êtes ? Cette barre de navigation est exactement ce qu'il vous faut !

23 mars 2021

Faire un message de notification animé

Que ce soit pour prévenir rapidement vos utilisateurs qu'une fonctionnalité de votre site n'est pas encore disponible ou pour les prévenir qu'une action a été réalisée avec succès, les notifications sont le moyen le plus simple et moderne à mettre en place. Découvrons dans cet article comment faire !

25 novembre 2020

Devenez le solopreneur que vous rêvez d'être.

Premier projet, reconversion, lancement de business : accédez à nos formations, pratiquez sur des cas concrets et avancez avec un accompagnement clair.