Les grands en-têtes contenant de nombreux liens de navigation peuvent prendre beaucoup de place sur votre site. C’est pourquoi les menus qui s’ouvrent et se glissent sont de plus en plus populaires. La plupart du temps, les menus qui se glissent dans l’affichage restent au-dessus du contenu de la page, cachant certains éléments. Cependant, un menu coulissant push fonctionne un peu différemment. L’effet « sliding push » est unique en ce sens que le menu se glisse depuis le haut de la page tout en poussant le contenu de la page vers le bas, de sorte que rien n’est caché.

Dans ce tutoriel, nous allons vous montrer comment construire un menu coulissant à partir de zéro en utilisant le constructeur de thème Divi. Une fois que le menu est construit, il devient un outil polyvalent pour tous les types d’applications puisque vous pourrez remplir la section avec le contenu que vous voulez en utilisant le Divi Builder.

Allons-y !

 

Pour importer la mise en page de la section dans votre Créateur de thème Divi, accédez au Créateur de thème Divi.

Cliquez sur l’icône de portabilité.

Dans la fenêtre contextuelle de portabilité, sélectionnez l’onglet d’importation et choisissez le fichier à télécharger depuis votre ordinateur.

Cliquez ensuite sur le bouton d’importation.

Une fois que c’est fait, le modèle de section apparaîtra dans le Créateur de thème de Divi.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Passons au tutoriel, d’accord ?

Création d’un menu coulissant avec le Créateur de thème de Divi

Création d’un nouveau menu global

Pour créer le menu, nous allons créer un nouvel en-tête global dans le Créateur de thème Divi.

Naviguez jusqu’à Divi > Theme Builder.

Cliquez ensuite sur la zone « Add Global Header » dans le Default Website Template. Dans la liste déroulante, sélectionnez « Build Global Header ».

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Vous accédez alors à l’éditeur de mise en page de l’en-tête global.

Une fois que vous êtes dans l’éditeur de mise en page de l’en-tête global, choisissez l’option « Build From Scratch ».

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Création du menu déroulant

Le premier élément que nous allons construire ensemble est la section du menu déroulant. Cette section contient les éléments de menu qui basculent vers le bas et vers le haut lorsque vous cliquez sur le bouton de basculement du menu.

Paramètres de la section

Ouvrez les paramètres de la section par défaut et mettez à jour les paramètres comme suit :

Arrière-plan
  • Couleur d’arrière-plan : #1a1e36

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Rembourrage
  • Padding : 0px haut, 0px bas

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Classe CSS

Sous l’onglet avancé, ajoutez la classe CSS suivante qui sera utilisée plus tard dans notre code JS.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

CSS personnalisé (tablette)

Ensuite, nous devons ajuster la hauteur de la section sur mobile en utilisant une hauteur calculée pour tenir compte de la barre d’en-tête principale que nous allons ajouter. Ainsi, la section s’étendra sur toute la hauteur de la fenêtre sur mobile lorsque l’utilisateur ouvrira le menu.

Ajoutez le CSS personnalisé suivant à l’élément principal sur tablette uniquement :

height : calc(100vh - 70px) ;
overflow:scroll !important ;
overscroll-behavior : contain ;

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter la rangée 1

Une fois les paramètres de la section terminés, créez une rangée d’une colonne dans la section.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la rangée 1

Mettez ensuite à jour les paramètres de la ligne comme suit :

Design
  • Largeur de la gouttière : 1
  • Largeur : 100
  • Largeur maximale : 1280px
  • Rembourrage : 3vh haut, 3vh bas
  • Bordure inférieure Largeur : 1px
  • Couleur de la bordure inférieure : rgba(255,255,255,0.2)

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

CSS personnalisé

Sous l’onglet avancé, ajoutez le CSS personnalisé suivant à l’élément principal :

Sous l’onglet Bureau..

display:flex ;
justify-content:center ;
align-items:center ;

Sous Tablette..

display:flex ;
flex-direction:column ;
align-items:center ;

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la colonne

Une fois les paramètres de la ligne effectués, ouvrez les paramètres de la colonne et ajoutez un extrait CSS personnalisé à l’élément principal :

display:flex ;
align-items:center ;
justify-content:center ;

Cela permettra de centrer le contenu de la colonne à la fois verticalement et horizontalement.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter un bouton

Nous sommes maintenant prêts à commencer à ajouter des éléments de menu à l’aide de modules de boutons. Commencez par ajouter un nouveau bouton à la colonne.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres du bouton

Mettez ensuite à jour les paramètres du bouton comme suit :

Contenu
  • Texte du bouton : Design
  • URL du lien du bouton : # (remplacez-la par votre propre URL personnalisée plus tard)

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Design
  • Couleur du texte du bouton : #ffffff
  • Largeur de la bordure du bouton : 0px
  • Police du bouton : Montserrat
  • Poids de la police du bouton : lourd
  • Icône du bouton : [votre choix]
  • Placement de l’icône du bouton : Gauche

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Duplication de la colonne

Pour créer les boutons supplémentaires du menu, nous pouvons maintenant dupliquer la colonne. Pour cette conception, nous allons dupliquer la colonne 4 fois pour obtenir un total de 5 éléments de menu/boutons dans une rangée de cinq colonnes.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter la deuxième rangée

Une fois la première rangée terminée, nous sommes prêts à ajouter une autre rangée de boutons qui peut être utilisée pour un ensemble différent d’éléments de menu.

Pour créer la rangée suivante, dupliquez la rangée 1.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Supprimez toutes les colonnes sauf une

Supprimez ensuite toutes les colonnes, sauf une, de la ligne dupliquée.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la rangée 2

Mettez à jour les paramètres de la rangée 2 comme suit :

  • Largeur maximale : 1080px
  • Largeur de la bordure inférieure : 0px

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la colonne

Ajoutez ensuite une bordure à la colonne comme suit :

  • Largeur de la bordure droite : 1px
  • Couleur de la bordure droite : rgba(255,255,255,0.2)

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Mettre à jour les paramètres du bouton

Une fois que la colonne a la bonne bordure, ouvrez les paramètres du bouton et mettez à jour les éléments suivants :

  • Taille du texte des boutons : 14px
  • Espacement des lettres des boutons : 2px
  • Poids de la police des boutons : Semi-bold (semi-gras)
  • Style de police du bouton : TT TT
  • Afficher l’icône du bouton : NON

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Dupliquer la colonne

Comme nous l’avons fait précédemment, nous allons dupliquer la colonne pour créer des boutons et des colonnes supplémentaires. Pour cette conception, nous allons dupliquer la colonne 3 fois pour obtenir un total de 4 boutons dans une rangée de 4 colonnes.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Suppression de la bordure de la dernière colonne

Comme nous ne voulons pas que la dernière colonne ait une bordure droite, ouvrez les paramètres de la colonne 4 et mettez à jour la largeur de la bordure :

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Création de la barre d’en-tête principale

Ensuite, nous allons créer la section de la barre d’en-tête principale. Cette barre d’en-tête sera toujours visible et contiendra le logo de notre site, un CTA et le bouton de basculement du menu.

Ajouter une section

Avant d’ajouter la nouvelle section, il est bon de mettre à jour l’étiquette de la section précédente pour qu’elle se lise « Section du menu de poussée ».

Créez ensuite une nouvelle section sous la première section.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la section

Mettez à jour l’étiquette de la nouvelle section en la remplaçant par « Section d’en-tête ». Ouvrez ensuite les paramètres de la section et mettez à jour les éléments suivants :

Rembourrage
  • Rembourrage : 0px haut, 0px bas

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter une rangée

Après avoir ajouté le remplissage de la section, ajoutez une rangée de trois colonnes à la section.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la rangée

Ouvrez le paramètre de ligne et mettez à jour les éléments suivants :

Dimensionnement
  • Largeur de la gouttière : 1
  • Largeur : 90
  • Hauteur : 70px

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Rembourrage
  • Rembourrage : Rembourrage : 0px haut, 0px bas

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

CSS personnalisé

Sous l’onglet avancé, ajoutez le CSS personnalisé suivant à l’élément principal :

display:flex ;
align-items:center ;

Cela permet de centrer verticalement les colonnes dans la rangée.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter un bouton

Pour créer le principal CTA de la section d’en-tête, nous pouvons utiliser un bouton de la deuxième ligne de la section supérieure. Copiez le bouton de la colonne 1 de la ligne 2 de la section supérieure et collez-le dans la colonne 1 de la ligne de la section d’en-tête.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Mettez à jour les paramètres des boutons

Ouvrez ensuite les paramètres du bouton dupliqué et mettez à jour les éléments suivants :

  • Texte du bouton : S’inscrire
  • Taille du texte du bouton : 14px
  • Couleur du texte du bouton : #1a1e36
  • Afficher l’icône du bouton : YES
  • Icône du bouton : Flèche droite (voir capture d’écran)

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter un logo

Dans la colonne du milieu, ajoutez un module image. C’est ainsi que nous ajouterons le logo du site de manière dynamique.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Passez la souris sur le module image et cliquez sur l’icône « Utiliser le contenu dynamique ». Dans la liste déroulante, sélectionnez « Logo du site ».

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de l’image

Ensuite, sous l’onglet « Design », mettez à jour les éléments suivants :

  • Alignement de l’image : centre
  • Hauteur maximale : 55px

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter une icône de hamburger personnalisée

Nous pourrions utiliser une icône ordinaire via un module blurb comme bascule de menu, mais pour ce tutoriel, j’ai pensé que nous pourrions ajouter une bascule de menu personnalisée avec un effet de transition cool.

Ajouter un module de texte

Pour créer l’icône de menu, nous utiliserons un module de texte avec du HTML personnalisé qui sera stylé avec du CSS externe.

Allez-y et ajoutez un module de texte à la colonne 3.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter le HTML du module de texte

Ajoutez ensuite le HTML suivant au contenu du module de texte :



.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Arrière-plan

Donnez une couleur d’arrière-plan au module de texte :

  • Couleur de fond : #1a1e36

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Design du texte

Mettez ensuite à jour les paramètres du design comme suit :

  • Largeur : 70px
  • Alignement du module : droite
  • Hauteur : 70px
  • Rembourrage : 20px haut, 20px bas, 16px gauche, 16px droite

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Classe CSS

Sous l’onglet avancé, ajoutez la classe CSS suivante :

  • Classe CSS : et-push-menu-toggle

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter du code

Pour apporter la fonctionnalité dont nous avons besoin pour que ce menu push coulissant fonctionne, nous allons ajouter notre CSS personnalisé et jQuery dans un module de code.

Allez-y et ajoutez un module de code à la colonne 3 sous le module de texte.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Puis collez le code suivant (important : enveloppez ce code dans des balises de style pour qu’il fonctionne correctement) :

 .line {
    display : block ;
    position : absolute ;
    height : 2px ;
    width : 100% ;
    background : #ffffff ;
    opacité : 1 ;
    -webkit-transition : .1s ease-in-out ;
    -moz-transition : .1s ease-in-out ;
    -o-transition : .1s ease-in-out ;
    transition : .1s ease-in-out ;
  }
  .line-2 {
    top : 10px ;
  }
  .line-3 {
    top : 20px ;
  }
  .et-push-menu-toggle.open .line-1 {
    top : 10px ;
    -webkit-transform : rotate(135deg) ;
    -moz-transform : rotate(135deg) ;
    -o-transform : rotate(135deg) ;
    transform : rotate(135deg) ;
  }
  .et-push-menu-toggle.open .line-2 {
    display : none ;
  }
  .et-push-menu-toggle.open .line-3 {
    top : 10px ;
    -webkit-transform : rotate(-135deg) ;
    -moz-transform : rotate(-135deg) ;
    -o-transform : rotate(-135deg) ;
    transform : rotate(-135deg) ;
  }
  .et-push-menu {
    display:none ;
  }
  .et-fb .et-push-menu {
    display:block ;
  }
  .et-push-menu-toggle {
    cursor:pointer ;
  }

Ensuite, copiez et collez ce code directement en dessous (important : enveloppez ce code dans des balises de script pour qu’il fonctionne correctement) :

(function($) {
  $(document).ready(function(){
    $('.et-push-menu-toggle').click(function(){
      $(this).toggleClass('open') ;
      $('.et-push-menu').slideToggle( "300").toggleClass('et-push-menu-active') ;
    }) ;
  }) 
})( jQuery ) ;

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Mise à jour du texte des boutons et des liens

Enfin, nous pouvons mettre à jour tous les boutons avec le texte du bouton et les URL des liens nécessaires.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

C’est tout !

Enregistrer les paramètres

N’oubliez pas d’enregistrer la mise en page et les paramètres du constructeur de thème.

divi-sliding-push-menu
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Résultat final

Pour voir le résultat final, consultez une page en direct sur votre site.

Le rendre collant

Si vous souhaitez une version « collante » du menu, il vous suffit d’ajouter le bout de code CSS suivant au module de code (entre les balises de style ) :

 header {
    position : sticky ;
    top:0 ;
    z-index:9999 ;
  }
  #page-container {
    overflow-y : visible !important ;
  }

Et voici le résultat.

Réflexions finales

J’espère que vous appréciez ce menu coulissant. L’effet est unique et ouvre la voie à des en-têtes plus créatifs.

J’ai hâte de lire vos commentaires.

À la vôtre !