Cum să construiești un meniu Hamburger animat de Stagger cu Divi & Anime.js
Publicat: 2021-02-17În trecut, am împărtășit diferite tipuri de anteturi pe care le puteți crea cu Divi și Divi Theme Builder. De fapt, puteți găsi toate aceste tutoriale enumerate în această postare de navigare. În această postare, veți observa că v-am arătat cum să creați un antet pe ecran complet, dar pentru a vă ajuta să duceți și mai mult designul antetului, vă vom arăta cum să creați și un meniu hamburger personalizat. Există câteva lucruri notabile despre meniul hamburger pe care îl vom crea:
- De îndată ce vizitatorii fac clic pe pictograma hamburger, un antet pe ecran complet va trece, iar fiecare element de meniu va dezvălui unul câte unul, oferindu-i un aspect și o senzație personalizată.
- Animațiile personalizate sunt declanșate de fiecare dată când meniul este deschis
- Veți putea adăuga și elemente derulante la elementele meniului principal, acestea se deschid la clic și se închid automat de îndată ce cineva închide meniul sau face clic pe un element de navigare
Cu alte cuvinte, acesta este cu siguranță un tutorial de antet care vă va ajuta să adăugați acel aspect avansat pe site-ul dvs. web. Puteți stiliza articolele oricum doriți și veți putea descărca gratuit fișierul șablon JSON!
Să ajungem la asta.
previzualizare
Înainte de a ne arunca cu capul în tutorial, să aruncăm o privire rapidă asupra rezultatului pe diferite dimensiuni de ecran.
Desktop

Mobil

Descărcați gratuit șablonul Global Header
Pentru a pune mâna pe șablonul global gratuit de antet, va trebui mai întâi să le descărcați folosind butonul de mai jos. Pentru a avea acces la descărcare, va trebui să vă abonați la lista noastră de e-mail Divi Daily folosind formularul de mai jos. Ca nou abonat, veți primi și mai multe bunătăți Divi și un pachet Divi Layout gratuit în fiecare luni! Dacă sunteți deja pe listă, pur și simplu introduceți adresa de e-mail mai jos și faceți clic pe descărcare. Nu veți fi „resubscris” și nu veți primi e-mailuri suplimentare.

Descarcă gratis
Înscrieți-vă la buletinul informativ Divi și vă vom trimite prin e-mail o copie a pachetului final de planificare a paginii de destinație Divi, plus o mulțime de alte resurse, sfaturi și trucuri uimitoare și gratuite Divi. Urmăriți-vă și veți fi un maestru Divi în cel mai scurt timp. Dacă sunteți deja abonat, pur și simplu introduceți adresa de e-mail de mai jos și faceți clic pe descărcare pentru a accesa pachetul de aspect.
V-ați abonat cu succes. Vă rugăm să verificați adresa de e-mail pentru a vă confirma abonamentul și pentru a obține acces la pachetele de layout Divi săptămânale gratuite!
1. Creați un șablon de antet nou
Accesați Divi Theme Builder și adăugați un nou șablon de antet global
Începeți accesând Divi Theme Builder. Unul acolo, adăugați un nou antet global.

Începeți să construiți de la zero
Și începeți să construiți designul antetului de la zero.

2. Creați pictograma Logo & Hamburger
Setări secțiune
Culoare de fundal
Odată ajuns în editorul de șabloane, vom începe prin a construi sigla și pictograma hamburger. Veți observa că există deja o secțiune acolo. Deschideți setările secțiunii și aplicați o culoare de fundal transparentă.
- Culoare fundal: rgba (255,255,255,0)

Spațiere
Treceți la fila de proiectare a secțiunii și eliminați toate umpluturile implicite de sus și de jos.
- Căptușeală de sus: 0 px
- Căptușeală inferioară: 0 px

Poziţie
Apoi, mergeți la avansat și rotiți secțiunea fixă.
- Poziție: Fix
- Locație: stânga sus
- Indicele Z: 13

Adăugați un rând nou
Structura coloanei
Continuați adăugând un rând nou la secțiune utilizând următoarea structură de coloane:

Dimensionare
Fără a adăuga încă module, deschideți setările rândului, treceți la fila de proiectare și modificați setările de dimensionare în consecință:
- Utilizați lățimea personalizată a jgheabului: da
- Lățimea jgheabului: 1
- Egalizați înălțimile coloanei: Da
- Lățime: 95%
- Lățime maximă: 100%

Spațiere
Eliminați toate umpluturile implicite de sus și de jos în continuare.
- Căptușeală de sus: 0 px
- Căptușeală inferioară: 0 px

Element principal CSS
Și pentru a ne asigura că atât logo-ul, cât și pictograma hamburger apar una lângă alta pe dimensiuni de ecran mai mici, vom insera o linie de cod CSS în elementul principal al rândului.
display: flex;

Adăugați modulul de imagine în coloana 1
Încărcați sigla
Este timpul să adăugați module, începând cu un modul de imagine în coloana 1. Încărcați o siglă la alegere.

Dimensionare
Treceți la fila de proiectare și modificați setările de dimensionare în continuare.
- Lățimea maximă:
- Desktop: 80 px
- Tabletă și telefon: 50 px

Poziţie
Apoi, repoziționați întregul modul.
- Poziție: Absolută
- Locație: stânga sus
- Decalaj vertical: 20 px

Adăugați un modul de text în coloana 3
Structura HTML în caseta de conținut
În a treia coloană, vom adăuga un modul de text. Vom folosi acest modul text pentru a crea pictograma hamburgerului nostru. Începeți prin trecerea la fila text din caseta de conținut și introduceți următoarele etichete HTML:
<span class="line line-1"></span> <span class="line line-2"></span> <span class="line line-3"></span>

Dimensionare
Modificați apoi setările de dimensionare ale modulului.
- Lățime: 80 px
- Înălțime: 80 px

Spațiere
Apoi, aplicați valori de umplere personalizate pe diferite dimensiuni de ecran.
- Căptușeală superioară:
- Desktop: 10 px
- Tabletă și telefon: 17 px
- Căptușeală inferioară:
- Desktop: 10 px
- Tabletă și telefon: 17 px
- Căptușeală stângă:
- Desktop: 15 px
- Tabletă și telefon: 30 px
- Garnitura dreapta:
- Desktop: 15 px
- Tabletă și telefon: 10 px

Poziţie
Repoziționați și acest modul.
- Poziție: Absolută
- Locație: colțul din stânga sus

3. Construiți meniul Hamburger
Adăugați o secțiune nouă
Fundal de gradient
Acum că avem sigla și pictograma hamburgerului la locul lor, putem trece la următoarea parte dedicată construirii meniului hamburgerului și a tuturor elementelor sale. Începeți prin adăugarea unei noi secțiuni, deschideți setările secțiunii și aplicați un fundal de gradient.
- Culoare 1: # 000000
- Culoare 2: # 111111
- Tipul gradientului: liniar
- Direcția gradientului: 90 grade
- Poziția inițială: 50%
- Poziție finală: 50%

Dimensionare
Aplicați o înălțime minimă și o înălțime maximă setărilor de dimensionare următoare.
- Înălțime minimă: 100vh
- Înălțime maximă: 100vh

Spațiere
Apoi, eliminați toate căptușelile implicite de sus și de jos.
- Căptușeală de sus: 0 px
- Căptușeală inferioară: 0 px

Revărsări
Modificați și debordurile.
- Overflow orizontal: Ascuns
- Vertical Overflow: Auto

Poziţie
Pentru a ne asigura că meniul poate fi deschis în orice moment, vom repoziționa secțiunea din fila avansată.
- Poziție: Fix
- Locație Centrul de sus

Adăugați un rând nou
Structura coloanei
Continuați adăugând un rând nou la secțiune utilizând următoarea structură de coloane:

Dimensionare
Fără a adăuga încă module, deschideți setările rândurilor, treceți la fila de proiectare și modificați setările de dimensionare după cum urmează:
- Utilizați lățimea personalizată a jgheabului: da
- Lățimea jgheabului: 1
- Egalizați înălțimile coloanei: Da
- Lățime: 100%
- Lățime maximă: 100%

Spațiere
Eliminați toate umpluturile implicite de sus și de jos în continuare.
- Căptușeală de sus: 0 px
- Căptușeală inferioară: 0 px

Revărsări
Apoi, accesați fila avansată și schimbați debordurile.
- Overflow orizontal: Ascuns
- Vertical Overflow: Auto

Poziţie
Repoziționați și rândul.
- Poziție: Absolută
- Locație Centrul de sus

Setări coloana 1
Spațiere
Apoi, vom deschide setările coloanei 1 ale rândului nostru și vom aplica câteva valori de umplere adaptabile personalizate.
- Căptușeală superioară:
- Desktop: 24vh
- Tabletă și telefon: 10vh
- Căptușeală inferioară:
- Desktop: 24vh
- Tabletă și telefon: 5vh
- Căptușeală stângă: 13%
- Căptușeală dreaptă: 13%

Frontieră
Vom aplica și câteva setări de margine:
- Lățimea marginii drepte:
- Desktop: 2 px
- Tabletă și telefon: 0px \
- Culoare margine dreaptă: # 191919
- Lățimea marginii inferioare:
- Desktop: 0 px
- Tabletă și telefon: 2 px
- Culoare margine dreaptă: # 191919

Setări coloana 2
Spațiere
Apoi, vom trece la coloana 2 și vom aplica și câteva valori de umplere personalizate.
- Căptușeală superioară:
- Desktop: 24vh
- Tabletă și telefon: 5vh
- Căptușeală inferioară:
- Desktop: 24vh
- Tabletă și telefon: 5vh
- Căptușeală stângă: 13%
- Căptușeală dreaptă: 13%

Adăugați modulul de text nr. 1 în coloana 1
Adăugați conținut H3
Este timpul să adăugați module, începând cu un prim modul de text din coloana 1. Adăugați conținut H3 la alegere.

Setări text H3
Treceți la fila de proiectare și modificați setările de text H3 după cum urmează:
- Rubrica 3 Font: Montserrat
- Titlul 3 Greutate font: Ultra Bold
- Titlul 3 Stilul fontului: majuscule
- Rubrica 3 Culoarea textului: #ffffff
- Rubrica 3 Dimensiune text
- Desktop: 1vw
- Tabletă: 2,5vw
- Telefon: 3.5vw
- Rubrica 3 Spațierea literelor: 5 px


Spațiere
Adăugați câteva margini de jos în continuare.
- Marja inferioară: 5vh

Clonați modulul text și plasați duplicatul în coloana 2
După ce ați finalizat acest prim modul, îl puteți clona o dată și plasa duplicatul în coloana 2.

Schimbați conținutul
Asigurați-vă că modificați conținutul din acest modul duplicat.

Adăugați modulul de text nr. 2 în coloana 2
Structura HTML în caseta de conținut
Pentru a prezenta elementele noastre de meniu, inclusiv elementele de submeniu, vom folosi fila text a unui nou modul de text. Continuați și adăugați un nou modul de text în coloana 1 și introduceți următorul 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>

Setări text
Treceți la fila de proiectare a modulului și modificați setările de text după cum urmează:
- Font text: Montserrat
- Greutatea fontului textului: subțire
- Culoarea textului: #ffffff
- Mărimea textului:
- Desktop: 2,7vw
- Tabletă: 4vw
- Telefon: 6vw
- Spațiere scrisoare text: 0,1em
- Înălțimea liniei de text: 1em

Setări text link
Schimbați și culoarea textului linkului.
- Culoare text Lin: #ffffff

Setări text de listă neordonate
Apoi, modificați setările textului listei neordonate.
- Font Lista neordonată: Montserrat
- Greutatea fontului din lista neordonată: îndrăzneață
- Stil font de listă neordonată: majuscule
- Dimensiune text neordonată:
- Desktop: 1vw
- Tabletă: 2,5vw
- Telefon: 3.5vw
- Înălțime linie listă neordonată: 1,5em
- Tip de stil de listă neordonat: Nici unul
- Poziția stilului listei neordonate: în interior

Spațiere
Și finalizați setările modulului adăugând câteva umpluturi personalizate în partea de sus și de jos.
- Căptușeală superioară: 5%
- Căptușeală inferioară: 5%

Clonați modulul text pentru a crea variații fără submeniu
După ce ați finalizat primul modul, îl puteți clona o singură dată. Vom folosi această dublare pentru a crea o variantă a elementului de meniu fără elemente de submeniu.

Eliminați submeniul și comutați pictograma
Pentru a transforma acest modul duplicat într-un element de meniu obișnuit fără elemente de submeniu, utilizați în schimb această structură HTML:
<span style="color: #686868;">03—</span> <a href="#">Contact</a>

Reutilizați ambele tipuri de elemente de meniu
După ce aveți ambele variante ale elementelor de meniu la locul lor, le puteți reutiliza în mod corespunzător, clonându-le și schimbând conținutul.

Adăugați modulul de text nr. 2 în coloana 2
Adăugați conținut H4 și paragraf în caseta de conținut
În coloana 2, vom adăuga un alt modul de text cu un conținut H4 și paragraf la alegere.

Setări text
Treceți la fila de proiectare și modificați setările de text în consecință:
- Font text: Alata
- Culoarea textului: #ececece
- Mărimea textului:
- Desktop: 0,8vw
- Tabletă: 2.4vw
- Telefon: 3.4vw
- Spațiere scrisoare text: 1 px
- Înălțimea liniei de text: 1,5em
- Culoarea textului: deschis

Setări text H4
Modificați și setările de text H4.
- Titlul 4 Dimensiune text:
- Desktop: 1vw
- Tabletă: 3vw
- Telefon: 4vw

Dimensionare
Apoi, modificați lățimea modulului în setările de dimensionare.
- Lățime: 48%

Element principal CSS
Și adăugați o linie de cod CSS la elementul principal al modulului. Această linie de cod CSS ne va ajuta să amplasăm două module text unul lângă celălalt.
display: inline-block;

Clonați modulul de text nr. 2
Modificare copiere
După ce ați finalizat modulul de text, îl puteți clona o dată și puteți modifica conținutul în consecință.

Adăugați modulul Social Media Follow în coloana 2
Adăugați rețele sociale la alegere
Ultimul modul de care avem nevoie în acest design este un modul Social Follow Follow din coloana 2. Adăugați rețelele sociale la alegere.

Eliminați individual culoarea de fundal a fiecărei rețele sociale
Eliminați culoarea de fundal a fiecărei rețele sociale individual.

Spațiere
Apoi, reveniți la setările generale ale modulului și aplicați o marjă superioară.
- Marja superioară: 5vh

4. Adăugați funcționalitate
Adăugați Clasa CSS la modulul de text cu pictograma Hamburger
Acum, după ce a fost construită baza designului meniului hamburger, ne putem concentra acum pe adăugarea funcționalității! Primul lucru pe care trebuie să-l faceți este să deschideți modulul text care conține pictograma hamburger și să adăugați următoarea clasă CSS:
- Clasa CSS: fullwidth-open

Adăugați Clasa CSS la Secțiunea # 2
Apoi, deschideți secțiunea meniului hamburger, secțiunea # 2 și adăugați următoarea clasă CSS:
- Clasa CSS: meniu cu lățime completă

Adăugați Clasa CSS la fiecare modul din meniul Fullwidth
Pentru a crea efectul de animație personalizată, trebuie să aplicăm următoarea clasă CSS fiecărui modul din secțiunea # 2.
- Clasa CSS: efect de eșalonare

Adăugați o clasă CSS suplimentară la elementele din meniu
Adăugați o clasă CSS suplimentară, numită „main-menu-item”, la fiecare dintre elementele de meniu din coloana 1, de asemenea.
- Clasa CSS: element de meniu principal cu efect de eșalonare

Adăugați un modul de cod la secțiunea # 1
Pentru a aplica funcționalitatea, vom folosi cod CSS și JQuery personalizate. Vom plasa acest cod într-un nou modul de cod în a doua coloană a rândului nostru din secțiunea # 1.

Introduceți codul CSS
Adăugați următorul cod CSS la modulul de cod dintre etichetele de stil, după cum puteți observa în ecranul de imprimare de mai jos.
/* 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;
}
Introduceți Biblioteca Anime.js
Continuați prin adăugarea bibliotecii JavaScript Anime folosind etichete script, după cum puteți vedea în ecranul de imprimare de mai jos . Vom folosi această minunată bibliotecă pentru a crea efectul de eșalonare în pasul următor al tutorialului.
- src = ”https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js”

Introduceți codul JQuery
Funcționalitățile de clic din meniul nostru hamburger sunt alimentate de următorul cod JQuery. Asigurați-vă că plasați acest cod între etichetele de script așa cum puteți vedea în ecranul de imprimare de mai jos.
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() == '-' ? '+' : '-');
});
});
});
Activați clasa CSS imediat ce ați finalizat proiectarea antetului pe ecran complet
Nu în ultimul rând, vom activa o clasă CSS în modulul de cod pe care îl puteți găsi în prima secțiune. Deschideți modulul de cod și eliminați „/ * * /” la începutul și la sfârșitul clasei. Activarea acestei clase (în combinație cu un cod JQuery deja activat) vă va asigura că secțiunea care conține elementele de meniu nu se încarcă imediat când cineva vă vizitează una dintre pagini. După ce activați această clasă, a doua secțiune de pe pagina dvs. va dispărea din Visual Builder, dar o puteți accesa în continuare în modul Wireframe sau puteți dezactiva clasa CSS dacă doriți să faceți modificări suplimentare.

5. Salvați modificările antetului și ale constructorului de teme
Asta e! Singurul lucru rămas de făcut este să salvați șablonul și Divi Theme Builder și să vizualizați rezultatul pe site-ul dvs. web!


previzualizare
Acum că am parcurs toți pașii, să aruncăm o privire finală asupra rezultatului pe diferite dimensiuni de ecran.
Desktop

Mobil

Gânduri finale
În această postare, v-am arătat cum să deveniți creativi cu antetul Divi. Mai exact, v-am arătat cum să creați un meniu de hamburger personalizat. De îndată ce un vizitator face clic pe pictograma hamburger, un meniu cu ecran complet trece și dezvăluie elementele de meniu unul câte unul, ceea ce duce la o experiență de utilizator frumoasă. Ați putut descărca gratuit și șablonul JSON! Dacă aveți întrebări, nu ezitați să lăsați un comentariu în secțiunea de comentarii de mai jos.
Dacă sunteți dornici să aflați mai multe despre Divi și să obțineți mai multe cadouri Divi, asigurați-vă că vă abonați la newsletter-ul nostru de e-mail și la canalul YouTube, astfel încât să fiți întotdeauna unul dintre primii oameni care să cunoască și să obțină beneficii din acest conținut gratuit.
