Come creare un menu di hamburger con animazione sfalsata con Divi e Anime.js

Pubblicato: 2021-02-17

In passato, abbiamo condiviso diversi tipi di intestazioni che puoi creare con Divi e Divi Theme Builder. In effetti, puoi trovare tutti quei tutorial elencati in questo post di navigazione. In quel post, noterai che ti abbiamo mostrato come creare un'intestazione a schermo intero, ma per aiutarti a migliorare ulteriormente il design dell'intestazione, ti mostreremo anche come creare un menu di hamburger animato personalizzato. Ci sono alcune cose degne di nota sul menu dell'hamburger che creeremo:

  • Non appena i visitatori fanno clic sull'icona dell'hamburger, verrà visualizzata un'intestazione a schermo intero e ogni voce di menu verrà rivelata una per una, conferendole un aspetto animato personalizzato
  • Le animazioni personalizzate vengono attivate ogni volta che si apre il menu
  • Sarai in grado di aggiungere elementi a discesa anche agli elementi del menu principale, questi si aprono al clic e si chiudono automaticamente non appena qualcuno chiude il menu o fa clic su un elemento di navigazione

In altre parole, questo è sicuramente un tutorial di intestazione che ti aiuterà ad aggiungere quell'aspetto avanzato al tuo sito web. Puoi anche modellare gli elementi come preferisci e potrai scaricare gratuitamente il file modello JSON!

Andiamo ad esso.

Anteprima

Prima di immergerci nel tutorial, diamo una rapida occhiata al risultato su schermi di diverse dimensioni.

Desktop

menu dell'hamburger

Mobile

menu dell'hamburger

Scarica il modello di intestazione globale GRATUITAMENTE

Per mettere le mani sul modello di intestazione globale gratuito, dovrai prima scaricarli utilizzando il pulsante in basso. Per accedere al download dovrai iscriverti alla nostra mailing list Divi Daily utilizzando il modulo sottostante. Come nuovo abbonato, riceverai ancora più bontà Divi e un pacchetto Divi Layout gratuito ogni lunedì! Se sei già nell'elenco, inserisci semplicemente il tuo indirizzo email qui sotto e fai clic su download. Non sarai "riabbonato" o riceverai email extra.

Scarica i file
Scarica gratis

Scarica gratis

Iscriviti alla newsletter Divi e ti invieremo via email una copia dell'ultimo Divi Landing Page Layout Pack, oltre a tonnellate di altre incredibili risorse Divi gratuite, suggerimenti e trucchi. Seguici e diventerai un maestro Divi in ​​pochissimo tempo. Se sei già iscritto, digita il tuo indirizzo e-mail qui sotto e fai clic su download per accedere al pacchetto di layout.

Ti sei iscritto con successo. Controlla il tuo indirizzo e-mail per confermare la tua iscrizione e ottenere l'accesso ai pacchetti di layout Divi settimanali gratuiti!

1. Crea un nuovo modello di intestazione

Vai a Divi Theme Builder e aggiungi un nuovo modello di intestazione globale

Inizia andando al Divi Theme Builder. Uno lì, aggiungi una nuova intestazione globale.

menu dell'hamburger

Inizia a costruire da zero

E inizia a creare il design dell'intestazione da zero.

menu dell'hamburger

2. Crea il logo e l'icona dell'hamburger

Impostazioni della sezione

Colore di sfondo

Una volta all'interno dell'editor dei modelli, inizieremo creando il logo e l'icona dell'hamburger. Noterai che c'è già una sezione lì. Apri le impostazioni della sezione e applica un colore di sfondo trasparente.

  • Colore di sfondo: rgba (255,255,255,0)

menu dell'hamburger

Spaziatura

Passa alla scheda Design della sezione e rimuovi tutte le imbottiture superiori e inferiori predefinite.

  • Imbottitura superiore: 0px
  • Imbottitura inferiore: 0px

menu dell'hamburger

Posizione

Quindi, vai all'avanzato e gira la sezione fissa.

  • Posizione: fissa
  • Posizione: in alto a sinistra
  • Indice Z: 13

menu dell'hamburger

Aggiungi nuova riga

Struttura della colonna

Continua aggiungendo una nuova riga alla sezione utilizzando la seguente struttura a colonne:

menu dell'hamburger

Dimensionamento

Senza ancora aggiungere moduli, apri le impostazioni della riga, passa alla scheda Design e modifica le impostazioni di dimensionamento di conseguenza:

  • Usa larghezza grondaia personalizzata: Sì
  • Larghezza grondaia: 1
  • Equalizza le altezze delle colonne: Sì
  • Larghezza: 95%
  • Larghezza massima: 100%

menu dell'hamburger

Spaziatura

Successivamente, rimuovi tutto il riempimento superiore e inferiore predefinito.

  • Imbottitura superiore: 0px
  • Imbottitura inferiore: 0px

menu dell'hamburger

Elemento principale CSS

E per assicurarci che sia il logo che l'icona dell'hamburger appaiano uno accanto all'altro su schermi di dimensioni più piccole, inseriremo una riga di codice CSS nell'elemento principale della riga.

display: flex;

menu dell'hamburger

Aggiungi modulo immagine alla colonna 1

Carica logo

È ora di aggiungere moduli, iniziando con un modulo immagine nella colonna 1. Carica un logo a tua scelta.

menu dell'hamburger

Dimensionamento

Passa alla scheda Design e successivamente modifica le impostazioni di dimensionamento.

  • Larghezza massima:
    • Desktop: 80 pixel
    • Tablet e telefono: 50px

menu dell'hamburger

Posizione

Quindi, riposizionare l'intero modulo.

  • Posizione: Assoluta
  • Posizione: in alto a sinistra
  • Offset verticale: 20px

menu dell'hamburger

Aggiungi modulo di testo alla colonna 3

Struttura HTML nella casella del contenuto

Nella terza colonna, aggiungeremo un modulo di testo. Useremo questo modulo di testo per creare la nostra icona dell'hamburger. Inizia passando alla scheda di testo nella casella del contenuto e inserisci i seguenti tag HTML:

<span class="line line-1"></span>
<span class="line line-2"></span>
<span class="line line-3"></span>

menu dell'hamburger

Dimensionamento

Successivamente, modifica le impostazioni di dimensionamento del modulo.

  • Larghezza: 80px
  • Altezza: 80 px

menu dell'hamburger

Spaziatura

Quindi, applica valori di riempimento personalizzati su diverse dimensioni dello schermo.

  • Imbottitura superiore:
    • Desktop: 10px
    • Tablet e telefono: 17px
  • Imbottitura inferiore:
    • Desktop: 10px
    • Tablet e telefono: 17px
  • Imbottitura sinistra:
    • Desktop: 15px
    • Tablet e telefono: 30px
  • Imbottitura destra:
    • Desktop: 15px
    • Tablet e telefono: 10px

menu dell'hamburger

Posizione

Riposizionare anche questo modulo.

  • Posizione: Assoluta
  • Posizione: angolo in alto a sinistra

menu dell'hamburger

3. Costruisci il menu dell'hamburger

Aggiungi nuova sezione

Sfondo sfumato

Ora che abbiamo il logo e l'icona dell'hamburger in posizione, possiamo passare alla parte successiva dedicata alla creazione del menu dell'hamburger e di tutti i suoi elementi. Inizia aggiungendo una nuova sezione, apri le impostazioni della sezione e applica uno sfondo sfumato.

  • Colore 1: #000000
  • Colore 2: #111111
  • Tipo di gradiente: lineare
  • Direzione gradiente: 90 gradi
  • Posizione di partenza: 50%
  • Posizione finale: 50%

menu dell'hamburger

Dimensionamento

Applicare un'altezza minima e un'altezza massima alle impostazioni di dimensionamento successive.

  • Altezza minima: 100 vh
  • Altezza massima: 100 vh

menu dell'hamburger

Spaziatura

Quindi, rimuovi tutta l'imbottitura superiore e inferiore della sezione predefinita.

  • Imbottitura superiore: 0px
  • Imbottitura inferiore: 0px

menu dell'hamburger

straripamenti

Modifica anche gli overflow.

  • Overflow orizzontale: nascosto
  • Overflow verticale: automatico

menu dell'hamburger

Posizione

Per assicurarci che il menu possa essere sempre aperto, riposizioneremo la sezione nella scheda Avanzate.

  • Posizione: fissa
  • Posizione In alto al centro

menu dell'hamburger

Aggiungi nuova riga

Struttura della colonna

Continua aggiungendo una nuova riga alla sezione utilizzando la seguente struttura a colonne:

menu dell'hamburger

Dimensionamento

Senza ancora aggiungere moduli, apri le impostazioni della riga, passa alla scheda Design e modifica le impostazioni di dimensionamento come segue:

  • Usa larghezza grondaia personalizzata: Sì
  • Larghezza grondaia: 1
  • Equalizza le altezze delle colonne: Sì
  • Larghezza: 100%
  • Larghezza massima: 100%

menu dell'hamburger

Spaziatura

Successivamente, rimuovi tutto il riempimento superiore e inferiore predefinito.

  • Imbottitura superiore: 0px
  • Imbottitura inferiore: 0px

menu dell'hamburger

straripamenti

Quindi, vai alla scheda Avanzate e modifica gli overflow.

  • Overflow orizzontale: nascosto
  • Overflow verticale: automatico

menu dell'hamburger

Posizione

Riposizionare anche la riga.

  • Posizione: Assoluta
  • Posizione In alto al centro

menu dell'hamburger

Impostazioni colonna 1

Spaziatura

Successivamente, apriremo le impostazioni della colonna 1 della nostra riga e applicheremo alcuni valori di riempimento reattivo personalizzati.

  • Imbottitura superiore:
    • Desktop: 24vh
    • Tablet e telefono: 10 vh
  • Imbottitura inferiore:
    • Desktop: 24vh
    • Tablet e telefono: 5vh
  • Imbottitura sinistra: 13%
  • Imbottitura destra: 13%

menu dell'hamburger

Frontiera

Applicheremo anche alcune impostazioni dei bordi:

  • Larghezza bordo destro:
    • Desktop: 2px
    • Tablet e telefono: 0px\
  • Colore bordo destro: #191919
  • Larghezza bordo inferiore:
    • Desktop: 0px
    • Tablet e telefono: 2px
  • Colore bordo destro: #191919

menu dell'hamburger

Impostazioni colonna 2

Spaziatura

Quindi, passeremo alla colonna 2 e applicheremo anche lì alcuni valori di riempimento personalizzati.

  • Imbottitura superiore:
    • Desktop: 24vh
    • Tablet e telefono: 5vh
  • Imbottitura inferiore:
    • Desktop: 24vh
    • Tablet e telefono: 5vh
  • Imbottitura sinistra: 13%
  • Imbottitura destra: 13%

menu dell'hamburger

Aggiungi il modulo di testo n. 1 alla colonna 1

Aggiungi contenuto H3

È ora di aggiungere moduli, iniziando con un primo modulo di testo nella colonna 1. Aggiungi alcuni contenuti H3 a tua scelta.

menu dell'hamburger

Impostazioni testo H3

Passa alla scheda Design e modifica le impostazioni del testo H3 come segue:

  • Intestazione 3 Carattere: Montserrat
  • Intestazione 3 Peso del carattere: Ultra grassetto
  • Intestazione 3 Stile carattere: maiuscolo
  • Colore testo titolo 3: #ffffff
  • Intestazione 3 Dimensione del testo
    • Desktop: 1vw
    • Tablet: 2.5vw
    • Telefono: 3.5vw
  • Intestazione 3 spaziatura lettere: 5px

menu dell'hamburger

Spaziatura

Aggiungi un margine inferiore dopo.

  • Margine inferiore: 5vh

menu dell'hamburger

Clona modulo testo e posiziona duplicato nella colonna 2

Una volta completato questo primo modulo, puoi clonarlo una volta e posizionare il duplicato nella colonna 2.

menu dell'hamburger

Modifica contenuto

Assicurati di modificare il contenuto in questo modulo duplicato.

menu dell'hamburger

Aggiungi il modulo di testo n. 2 alla colonna 2

Struttura HTML nella casella del contenuto

Per mostrare le nostre voci di menu, comprese le voci di sottomenu, utilizzeremo la scheda di testo di un nuovo modulo di testo. Vai avanti e aggiungi un nuovo modulo di testo alla colonna 1 e inserisci il seguente HTML:

<span style="color: #686868;">01—</span> <a href="#">Services</a> <span class="toggle-sub-menu" style="color: #ffff00;">+</span>
<ul>
	<li><a href="#">Web design</a></li>
	<li><a href="#">Branding</a></li>
</ul>

menu dell'hamburger

Impostazioni testo

Passa alla scheda di progettazione del modulo e modifica le impostazioni del testo come segue:

  • Carattere del testo: Montserrat
  • Peso del carattere del testo: sottile
  • Colore del testo: #ffffff
  • Dimensione del testo:
    • Desktop: 2.7vw
    • Tablet: 4vw
    • Telefono: 6vw
  • Spaziatura delle lettere del testo: 0,1 em
  • Altezza riga di testo: 1em

menu dell'hamburger

Link alle impostazioni del testo

Cambia anche il colore del testo del collegamento.

  • Colore testo Lin: #ffffff

menu dell'hamburger

Impostazioni testo elenco non ordinato

Quindi, modifica le impostazioni del testo dell'elenco non ordinato.

  • Carattere elenco non ordinato: Montserrat
  • Peso carattere elenco non ordinato: grassetto
  • Stile carattere elenco non ordinato: maiuscolo
  • Dimensione del testo non ordinato:
    • Desktop: 1vw
    • Tablet: 2.5vw
    • Telefono: 3.5vw
  • Altezza riga elenco non ordinato: 1,5 em
  • Tipo di stile elenco non ordinato: nessuno
  • Posizione stile elenco non ordinato: interno

menu dell'hamburger

Spaziatura

E completa le impostazioni del modulo aggiungendo un'imbottitura superiore e inferiore personalizzata.

  • Imbottitura superiore: 5%
  • Imbottitura inferiore: 5%

menu dell'hamburger

Clona il modulo di testo per creare una variazione senza sottomenu

Una volta completato il primo modulo, puoi clonarlo una volta. Useremo questa duplicazione per creare una variazione della voce di menu senza voci di sottomenu.

menu dell'hamburger

Lascia fuori il sottomenu e attiva/disattiva l'icona

Per trasformare questo modulo duplicato in una normale voce di menu senza voci di sottomenu, usa invece questa struttura HTML:

<span style="color: #686868;">03—</span> <a href="#">Contact</a>

menu dell'hamburger

Riutilizza entrambi i tipi di voci di menu

Una volta che hai entrambe le varianti delle voci di menu in atto, puoi riutilizzarle entrambe di conseguenza clonandole e modificando il contenuto.

menu dell'hamburger

Aggiungi il modulo di testo n. 2 alla colonna 2

Aggiungi contenuto H4 e paragrafo alla casella del contenuto

Nella colonna 2, aggiungeremo un altro modulo di testo con alcuni contenuti H4 e paragrafi a nostra scelta.

menu dell'hamburger

Impostazioni testo

Passa alla scheda Design e modifica le impostazioni del testo di conseguenza:

  • Carattere del testo: Alata
  • Colore del testo: #cecece
  • Dimensione del testo:
    • Desktop: 0.8vw
    • Tablet: 2.4vw
    • Telefono: 3.4vw
  • Spaziatura delle lettere del testo: 1px
  • Altezza riga di testo: 1,5 em
  • Colore del testo: chiaro

menu dell'hamburger

Impostazioni testo H4

Apportare anche alcune modifiche alle impostazioni del testo H4.

  • Intestazione 4 Dimensione del testo:
    • Desktop: 1vw
    • Tablet: 3vw
    • Telefono: 4vw

menu dell'hamburger

Dimensionamento

Quindi, modifica la larghezza del modulo nelle impostazioni di dimensionamento.

  • Larghezza: 48%

menu dell'hamburger

Elemento principale CSS

E aggiungi una riga di codice CSS all'elemento principale del modulo. Questa riga di codice CSS ci aiuterà a posizionare due moduli di testo uno accanto all'altro.

display: inline-block;

menu dell'hamburger

Clona Testo Modulo #2

Cambia copia

Una volta completato il modulo di testo, puoi clonarlo una volta e modificare il contenuto di conseguenza.

menu dell'hamburger

Aggiungi il modulo Segui social media alla colonna 2

Aggiungi social network di scelta

L'ultimo modulo di cui abbiamo bisogno in questo progetto è un modulo di follow sui social media nella colonna 2. Aggiungi i social network di tua scelta.

menu dell'hamburger

Rimuovi il colore di sfondo di ogni social network individualmente

Rimuovi il colore di sfondo di ogni social network individualmente.

menu dell'hamburger

Spaziatura

Quindi, torna alle impostazioni generali del modulo e applica un margine superiore.

  • Margine superiore: 5vh

menu dell'hamburger

4. Aggiungi funzionalità

Aggiungi la classe CSS al modulo di testo dell'icona di Hamburger

Ora che le basi del design del nostro menu per hamburger sono state costruite, ora possiamo concentrarci sull'aggiunta di funzionalità! La prima cosa che devi fare è aprire il modulo di testo contenente l'icona dell'hamburger e aggiungere la seguente classe CSS:

  • Classe CSS: fullwidth-open

menu dell'hamburger

Aggiungi la classe CSS alla sezione #2

Quindi, apri la sezione del menu dell'hamburger, sezione #2, e aggiungi la seguente classe CSS:

  • Classe CSS: menu a larghezza intera

menu dell'hamburger

Aggiungi la classe CSS a ogni modulo nel menu a larghezza intera

Per creare l'effetto di animazione scaglionamento personalizzato, dovremo applicare la seguente classe CSS a ciascun modulo nella sezione #2.

  • Classe CSS: effetto sfalsato

menu dell'hamburger

Aggiungi una classe CSS extra alle voci di menu

Aggiungi anche una classe CSS extra, chiamata "elemento-menu-principale", a ciascuna delle voci di menu nella colonna 1.

  • Classe CSS: elemento del menu principale con effetto scaglionamento

menu dell'hamburger

Aggiungi modulo codice alla sezione #1

Per applicare la funzionalità, utilizzeremo codice CSS e JQuery personalizzato. Metteremo questo codice in un nuovo modulo di codice nella seconda colonna della nostra riga nella sezione #1.

menu dell'hamburger

Inserisci codice CSS

Aggiungi il seguente codice CSS al Modulo codice tra i tag di stile come puoi notare nella schermata di stampa qui sotto.

/* enable class below once you're done editing the menu */

/*
.fullwidth-menu {
opacity: 0;
top: 0vh;
visibility: hidden;
}
*/

.line{
display: block;
position: absolute;
height: 3px;
width: 100%;
background: #000;
opacity: 1;
-webkit-transition: .1s ease-in-out;
-moz-transition: .1s ease-in-out;
-o-transition: .1s ease-in-out;
transition: .1s ease-in-out;
}

.fullwidth-open.open .line{
background: white; 
}

.line-1 {
top: 15px;    
}
  
.line-2 {
top: 25px;
width: 80%;
}
 
.line-3 {
top: 35px;
width: 50%;
}
 
.fullwidth-open.open .line-1 {
top: 25px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}
 
.fullwidth-open.open .line-2 {
display: none;
}
 
.fullwidth-open.open .line-3 {
top: 25px;
width: 100%;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
}
 
.fullwidth-menu-open {
opacity: 1 !important;
top: 0 !important;
visibility: visible !important;
}
 
.fullwidth-menu {
-webkit-transition: all 0.5s ease !important;
-moz-transition: all 0.5s ease !important;
-o-transition: all 0.5s ease !important;
-ms-transition: all 0.5s ease !important;
transition: all 0.5s ease !important;
}
  
.main-menu-item ul {
display: none; 
padding: 0;
margin-top: 50px;
}
  
.toggle-sub-menu {
cursor: pointer;
}

menu dell'hamburger

Inserisci la libreria Anime.js

Continua aggiungendo la libreria JavaScript Anime utilizzando i tag script come puoi vedere nella schermata di stampa qui sotto . Useremo questa fantastica libreria per creare l'effetto sfalsato nel passaggio successivo del tutorial.

  • src=”https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js”

menu dell'hamburger

Inserisci codice JQuery

Le funzionalità di clic nel nostro menu hamburger sono alimentate dal seguente codice JQuery. Assicurati di inserire questo codice tra i tag di script come puoi vedere nella schermata di stampa qui sotto.

jQuery(function($){
$(document).ready(function(){  

// All variables needed in functions  
var menuSection = $('.fullwidth-menu');
var hamburgerIcon = $('.fullwidth-open');
var menuLink = $('.fullwidth-menu a');
var subMenu = $('.main-menu-item ul');
var toggleIcon = $('.toggle-sub-menu');
  
  
// Open fullwidth menu & animate items  
hamburgerIcon.click(function(){
	$(this).toggleClass('open');
	menuSection.toggleClass('fullwidth-menu-open');
	if (menuSection.hasClass("fullwidth-menu-open")) {
		anime({
  		targets: '.stagger-effect',
  		translateY: [150, 0],
  		opacity: [0, 1],
  		loop: false,
  		delay: anime.stagger(100, {easing: 'easeOutQuad'})
		});

	} else { 
		subMenu.slideUp();  
		toggleIcon.text($(this).text() == '+' ? '-' : '+');  
	}
});

// Close fullwidth menu when clicking an item
menuLink.click(function(){
	hamburgerIcon.toggleClass('open');
	menuSection.toggleClass('fullwidth-menu-open');  
  subMenu.slideUp();  
	toggleIcon.text($(this).text() == '+' ? '-' : '+');  
});
  
// Change icon when toggling the submenu  
toggleIcon.click(function(){  
	var subMenu = $(this).parent().find("ul");
	subMenu.slideToggle(); 
	$(this).text($(this).text() == '-' ? '+' : '-'); 
});  
  
});
});

menu dell'hamburger

Attiva la classe CSS non appena hai completato il design dell'intestazione a schermo intero

Ultimo ma non meno importante, abiliteremo una classe CSS nel Modulo Codice che puoi trovare nella prima sezione. Apri il modulo del codice e rimuovi "/* */" all'inizio e alla fine della lezione. L'abilitazione di questa classe (in combinazione con del codice JQuery già abilitato) assicurerà che la sezione contenente le voci di menu non venga caricata immediatamente quando qualcuno visita una delle tue pagine. Una volta abilitata questa classe, la seconda sezione della tua pagina scomparirà dal Visual Builder, ma potrai comunque accedervi in ​​modalità Wireframe o disattivare la classe CSS se desideri apportare ulteriori modifiche.

menu dell'hamburger

5. Salva modifiche all'intestazione e al generatore di temi

Questo è tutto! L'unica cosa che resta da fare è salvare il modello e Divi Theme Builder e visualizzare il risultato sul tuo sito web!

menu dell'hamburger

menu dell'hamburger

Anteprima

Ora che abbiamo seguito tutti i passaggi, diamo un'ultima occhiata al risultato su schermi di diverse dimensioni.

Desktop

menu dell'hamburger

Mobile

menu dell'hamburger

Pensieri finali

In questo post, ti abbiamo mostrato come essere creativo con la tua intestazione Divi. Più specificamente, ti abbiamo mostrato come creare un menu di hamburger animato personalizzato. Non appena un visitatore fa clic sull'icona dell'hamburger, un menu a schermo intero passa e rivela le voci di menu una per una, il che si traduce in una bella esperienza utente. Sei stato anche in grado di scaricare gratuitamente il file JSON del modello! Se hai domande, non esitare a lasciare un commento nella sezione commenti qui sotto.

Se non vedi l'ora di saperne di più su Divi e di ricevere altri omaggi su Divi, assicurati di iscriverti alla nostra newsletter e al canale YouTube in modo da essere sempre una delle prime persone a conoscere e ottenere vantaggi da questo contenuto gratuito.