Divi와 Anime.js로 비틀거리는 애니메이션 햄버거 메뉴를 만드는 방법
게시 됨: 2021-02-17과거에는 Divi 및 Divi 테마 빌더로 생성할 수 있는 다양한 유형의 헤더를 공유했습니다. 사실, 이 탐색 게시물에 나열된 모든 자습서를 찾을 수 있습니다. 해당 게시물에서 전체 화면 헤더를 만드는 방법을 보여 주었지만 헤더 디자인을 더욱 발전시키는 데 도움이 되도록 맞춤형 애니메이션 햄버거 메뉴를 만드는 방법도 보여 드리겠습니다. 우리가 만들 햄버거 메뉴에 대해 몇 가지 주목할만한 사항이 있습니다.
- 방문자가 햄버거 아이콘을 클릭하자마자 전체 화면 헤더가 전환되고 각 메뉴 항목이 하나씩 표시되어 맞춤형 애니메이션 모양과 느낌을 제공합니다.
- 메뉴가 열릴 때마다 사용자 지정 애니메이션이 트리거됩니다.
- 기본 메뉴 항목에도 드롭다운 항목을 추가할 수 있습니다. 이러한 항목은 클릭 시 열리고 누군가 메뉴를 닫거나 탐색 항목을 클릭하면 자동으로 닫힙니다.
즉, 이것은 확실히 고급 모양과 느낌을 웹 사이트에 추가하는 데 도움이 되는 헤더 자습서입니다. 원하는 대로 항목의 스타일을 지정할 수 있으며 JSON 템플릿 파일을 무료로 다운로드할 수 있습니다!
시작하겠습니다.
시사
튜토리얼을 시작하기 전에 다양한 화면 크기에 따른 결과를 간단히 살펴보겠습니다.
데스크탑

이동하는

글로벌 헤더 템플릿을 무료로 다운로드하십시오
무료 글로벌 헤더 템플릿을 사용하려면 먼저 아래 버튼을 사용하여 다운로드해야 합니다. 다운로드에 액세스하려면 아래 양식을 사용하여 Divi Daily 이메일 목록에 가입해야 합니다. 신규 구독자는 매주 월요일에 더 많은 Divi 혜택과 무료 Divi 레이아웃 팩을 받게 됩니다! 이미 목록에 있는 경우 아래에 이메일 주소를 입력하고 다운로드를 클릭하기만 하면 됩니다. "재구독"되지 않거나 추가 이메일을 받지 않습니다.

무료로 다운로드
Divi 뉴스레터에 가입하면 최고의 Divi 랜딩 페이지 레이아웃 팩과 수많은 놀라운 무료 Divi 리소스, 팁 및 요령을 이메일로 보내드립니다. 따라하시면 금세 Divi 마스터가 되실 것입니다. 이미 구독한 경우 아래에 이메일 주소를 입력하고 다운로드를 클릭하여 레이아웃 팩에 액세스하십시오.
성공적으로 구독했습니다. 이메일 주소를 확인하여 구독을 확인하고 무료 주간 Divi 레이아웃 팩에 액세스하세요!
1. 새 헤더 템플릿 만들기
Divi 테마 빌더로 이동 및 새 글로벌 헤더 템플릿 추가
Divi 테마 빌더로 이동하여 시작하십시오. 거기에 새 전역 헤더를 추가하십시오.

처음부터 빌드 시작
그리고 헤더 디자인을 처음부터 시작하십시오.

2. 로고 및 햄버거 아이콘 만들기
섹션 설정
배경색
템플릿 편집기에 들어가면 로고와 햄버거 아이콘을 만드는 것부터 시작합니다. 이미 섹션이 있음을 알 수 있습니다. 섹션 설정을 열고 투명한 배경색을 적용합니다.
- 배경색: rgba(255,255,255,0)

간격
섹션의 디자인 탭으로 이동하고 다음으로 모든 기본 상단 및 하단 패딩을 제거합니다.
- 상단 패딩: 0px
- 하단 패딩: 0px

위치
그런 다음 고급으로 이동하여 섹션을 고정하십시오.
- 위치: 고정
- 위치: 왼쪽 상단
- Z 인덱스: 13

새 행 추가
열 구조
다음 열 구조를 사용하여 섹션에 새 행을 계속 추가합니다.

사이징
아직 모듈을 추가하지 않고 행 설정을 열고 디자인 탭으로 이동하여 그에 따라 크기 설정을 변경합니다.
- 사용자 지정 거터 너비 사용: 예
- 거터 폭: 1
- 열 높이 균등화: 예
- 폭: 95%
- 최대 너비: 100%

간격
다음으로 모든 기본 상단 및 하단 패딩을 제거합니다.
- 상단 패딩: 0px
- 하단 패딩: 0px

주요 요소 CSS
그리고 더 작은 화면 크기에서 로고와 햄버거 아이콘이 나란히 표시되도록 하기 위해 행의 기본 요소에 CSS 코드 한 줄을 삽입합니다.
display: flex;

열 1에 이미지 모듈 추가
로고 업로드
1열의 이미지 모듈부터 시작하여 모듈을 추가할 시간입니다. 원하는 로고를 업로드하세요.

사이징
디자인 탭으로 이동하여 다음으로 크기 설정을 변경합니다.
- 최대 너비:
- 데스크탑: 80px
- 태블릿 및 휴대전화: 50px

위치
그런 다음 전체 모듈의 위치를 변경합니다.
- 위치: 절대
- 위치: 왼쪽 상단
- 수직 오프셋: 20px

열 3에 텍스트 모듈 추가
콘텐츠 상자의 HTML 구조
세 번째 열에서는 텍스트 모듈을 추가합니다. 이 텍스트 모듈을 사용하여 햄버거 아이콘을 만들 것입니다. 콘텐츠 상자의 텍스트 탭으로 전환하여 시작하고 다음 HTML 태그를 삽입합니다.
<span class="line line-1"></span> <span class="line line-2"></span> <span class="line line-3"></span>

사이징
다음으로 모듈의 크기 설정을 수정합니다.
- 너비: 80px
- 높이: 80px

간격
그런 다음 다양한 화면 크기에 맞춤 패딩 값을 적용합니다.
- 탑 패딩:
- 데스크탑: 10px
- 태블릿 및 전화: 17px
- 하단 패딩:
- 데스크탑: 10px
- 태블릿 및 전화: 17px
- 왼쪽 패딩:
- 데스크탑: 15px
- 태블릿 및 휴대전화: 30px
- 오른쪽 패딩:
- 데스크탑: 15px
- 태블릿 및 휴대전화: 10px

위치
이 모듈도 재배치하십시오.
- 위치: 절대
- 위치: 상단 왼쪽 모서리

3. 햄버거 메뉴 만들기
새 섹션 추가
그라데이션 배경
이제 로고와 햄버거 아이콘이 준비되었으므로 햄버거 메뉴와 모든 항목을 만드는 데 전념하는 다음 부분으로 넘어갈 수 있습니다. 새 섹션을 추가하여 시작하고 섹션 설정을 열고 그라디언트 배경을 적용합니다.
- 색상 1: #000000
- 색상 2: #111111
- 그라디언트 유형: 선형
- 기울기 방향: 90deg
- 시작 위치: 50%
- 최종 위치: 50%

사이징
다음으로 크기 설정에 최소 높이와 최대 높이를 적용합니다.
- 최소 높이: 100vh
- 최대 높이: 100vh

간격
그런 다음 모든 기본 섹션 상단 및 하단 패딩을 제거합니다.
- 상단 패딩: 0px
- 하단 패딩: 0px

오버플로
오버플로도 수정합니다.
- 수평 오버플로: 숨김
- 수직 오버플로: 자동

위치
메뉴가 항상 열릴 수 있도록 고급 탭에서 섹션의 위치를 변경합니다.
- 위치: 고정
- 위치 상단 중앙

새 행 추가
열 구조
다음 열 구조를 사용하여 섹션에 새 행을 계속 추가합니다.

사이징
아직 모듈을 추가하지 않고 행 설정을 열고 디자인 탭으로 이동하여 다음과 같이 사이징 설정을 변경합니다.
- 사용자 지정 거터 너비 사용: 예
- 거터 폭: 1
- 열 높이 균등화: 예
- 폭: 100%
- 최대 너비: 100%

간격
다음으로 모든 기본 상단 및 하단 패딩을 제거합니다.
- 상단 패딩: 0px
- 하단 패딩: 0px

오버플로
그런 다음 고급 탭으로 이동하여 오버플로를 변경합니다.
- 수평 오버플로: 숨김
- 수직 오버플로: 자동

위치
행의 위치도 변경합니다.
- 위치: 절대
- 위치 상단 중앙

열 1 설정
간격
다음으로 행의 열 1 설정을 열고 일부 사용자 지정 반응형 패딩 값을 적용합니다.
- 탑 패딩:
- 데스크탑: 24vh
- 태블릿 및 전화: 10vh
- 하단 패딩:
- 데스크탑: 24vh
- 태블릿 및 전화: 5vh
- 왼쪽 패딩: 13%
- 오른쪽 패딩: 13%

국경
몇 가지 테두리 설정도 적용합니다.
- 오른쪽 테두리 너비:
- 데스크탑: 2px
- 태블릿 및 휴대전화: 0px\
- 오른쪽 테두리 색상: #191919
- 하단 테두리 너비:
- 데스크탑: 0px
- 태블릿 및 전화: 2px
- 오른쪽 테두리 색상: #191919

2열 설정
간격
그런 다음 열 2로 이동하여 여기에도 일부 사용자 지정 패딩 값을 적용합니다.
- 탑 패딩:
- 데스크탑: 24vh
- 태블릿 및 전화: 5vh
- 하단 패딩:
- 데스크탑: 24vh
- 태블릿 및 전화: 5vh
- 왼쪽 패딩: 13%
- 오른쪽 패딩: 13%

열 1에 텍스트 모듈 #1 추가
H3 콘텐츠 추가
열 1의 첫 번째 텍스트 모듈부터 시작하여 모듈을 추가할 시간입니다. 원하는 H3 콘텐츠를 추가합니다.

H3 텍스트 설정
디자인 탭으로 이동하여 다음과 같이 H3 텍스트 설정을 변경합니다.
- 제목 3 글꼴: 몬세라트
- 제목 3 글꼴 두께: 매우 굵게
- 제목 3 글꼴 스타일: 대문자
- 제목 3 텍스트 색상: #ffffff
- 제목 3 텍스트 크기
- 데스크탑: 1vw
- 태블릿: 2.5vw
- 전화: 3.5vw
- 제목 3 글자 간격: 5px

간격
다음에 아래쪽 여백을 추가합니다.
- 하단 여백: 5vh

텍스트 모듈 복제 및 2열에 중복 배치
이 첫 번째 모듈을 완료하면 한 번 복제하고 2열에 복제본을 배치할 수 있습니다.


콘텐츠 변경
이 중복 모듈의 내용을 변경해야 합니다.

열 2에 텍스트 모듈 #2 추가
콘텐츠 상자의 HTML 구조
하위 메뉴 항목을 포함한 메뉴 항목을 보여주기 위해 새 텍스트 모듈의 텍스트 탭을 사용합니다. 계속해서 열 1에 새 텍스트 모듈을 추가하고 다음 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>

텍스트 설정
모듈의 디자인 탭으로 이동하여 다음과 같이 텍스트 설정을 변경합니다.
- 텍스트 글꼴: 몬세라트
- 텍스트 글꼴 두께: 가늘게
- 텍스트 색상: #ffffff
- 텍스트 크기:
- 데스크탑: 2.7vw
- 태블릿: 4vw
- 전화: 6vw
- 텍스트 문자 간격: 0.1em
- 텍스트 줄 높이: 1em

링크 텍스트 설정
링크 텍스트 색상도 변경합니다.
- 린 텍스트 색상: #ffffff

순서 없는 목록 텍스트 설정
그런 다음 정렬되지 않은 목록 텍스트 설정을 수정합니다.
- 무순 목록 글꼴: Montserrat
- 정렬되지 않은 목록 글꼴 두께: 굵게
- 정렬되지 않은 목록 글꼴 스타일: 대문자
- 정렬되지 않은 텍스트 크기:
- 데스크탑: 1vw
- 태블릿: 2.5vw
- 전화: 3.5vw
- 정렬되지 않은 목록 줄 높이: 1.5em
- 정렬되지 않은 목록 스타일 유형: 없음
- 정렬되지 않은 목록 스타일 위치: 내부

간격
그리고 사용자 지정 상단 및 하단 패딩을 추가하여 모듈 설정을 완료합니다.
- 탑 패딩: 5%
- 하단 패딩: 5%

하위 메뉴 없이 변형을 생성하기 위한 복제 텍스트 모듈
첫 번째 모듈을 완료하면 한 번 복제할 수 있습니다. 이 복제를 사용하여 하위 메뉴 항목 없이 메뉴 항목의 변형을 만듭니다.

나가기 하위 메뉴 및 토글 아이콘
이 복제 모듈을 하위 메뉴 항목이 없는 일반 메뉴 항목으로 바꾸려면 다음 HTML 구조를 대신 사용하십시오.
<span style="color: #686868;">03—</span> <a href="#">Contact</a>

두 가지 유형의 메뉴 항목 재사용
메뉴 항목의 두 가지 변형이 모두 있으면 해당 항목을 복제하고 내용을 변경하여 두 항목을 적절하게 재사용할 수 있습니다.

열 2에 텍스트 모듈 #2 추가
콘텐츠 상자에 H4 및 단락 콘텐츠 추가
2열에서는 선택한 H4 및 단락 콘텐츠가 포함된 또 다른 텍스트 모듈을 추가합니다.

텍스트 설정
디자인 탭으로 이동하여 그에 따라 텍스트 설정을 변경합니다.
- 텍스트 글꼴: Alata
- 텍스트 색상: #cecece
- 텍스트 크기:
- 데스크탑: 0.8vw
- 태블릿: 2.4vw
- 전화: 3.4vw
- 텍스트 문자 간격: 1px
- 텍스트 줄 높이: 1.5em
- 텍스트 색상: 라이트

H4 텍스트 설정
H4 텍스트 설정도 일부 변경하십시오.
- 제목 4 텍스트 크기:
- 데스크탑: 1vw
- 태블릿: 3vw
- 전화: 4vw

사이징
그런 다음 크기 설정에서 모듈의 너비를 수정합니다.
- 폭: 48%

주요 요소 CSS
그리고 모듈의 메인 요소에 CSS 코드 한 줄을 추가합니다. 이 CSS 코드 줄은 두 개의 텍스트 모듈을 나란히 배치하는 데 도움이 됩니다.
display: inline-block;

복제 텍스트 모듈 #2
사본 변경
텍스트 모듈을 완료하면 한 번 복제하고 그에 따라 내용을 변경할 수 있습니다.

열 2에 소셜 미디어 팔로우 모듈 추가
소셜 네트워크 선택 추가
이 디자인에 필요한 마지막 모듈은 2열의 소셜 미디어 팔로우 모듈입니다. 원하는 소셜 네트워크를 추가하세요.

각 소셜 네트워크의 배경색을 개별적으로 제거
각 소셜 네트워크의 배경색을 개별적으로 제거합니다.

간격
그런 다음 일반 모듈 설정으로 돌아가 상단 여백을 적용합니다.
- 최고 여백: 5vh

4. 기능 추가
햄버거 아이콘 텍스트 모듈에 CSS 클래스 추가
이제 햄버거 메뉴 디자인의 기반이 구축되었으므로 이제 기능 추가에 집중할 수 있습니다! 가장 먼저 해야 할 일은 햄버거 아이콘이 포함된 텍스트 모듈을 열고 다음 CSS 클래스를 추가하는 것입니다.
- CSS 클래스: 전폭 개방

섹션 #2에 CSS 클래스 추가
그런 다음 햄버거 메뉴 섹션, 섹션 #2를 열고 다음 CSS 클래스를 추가합니다.
- CSS 클래스: 전체 너비 메뉴

전체 너비 메뉴의 각 모듈에 CSS 클래스 추가
맞춤 비틀림 애니메이션 효과를 만들려면 섹션 #2의 각 모듈에 다음 CSS 클래스를 적용해야 합니다.
- CSS 클래스: 비틀림 효과

메뉴 항목에 추가 CSS 클래스 추가
"main-menu-item"이라는 추가 CSS 클래스를 열 1의 각 메뉴 항목에도 추가합니다.
- CSS 클래스: 비틀림 효과 주 메뉴 항목

섹션 #1에 코드 모듈 추가
기능을 적용하기 위해 사용자 정의 CSS 및 JQuery 코드를 사용합니다. 섹션 #1에 있는 행의 두 번째 열에 있는 새 코드 모듈에 이 코드를 배치합니다.

CSS 코드 삽입
아래 인쇄 화면에서 볼 수 있는 것처럼 스타일 태그 사이에 다음 CSS 코드를 코드 모듈 에 추가합니다 .
/* 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;
}
Anime.js 라이브러리 삽입
아래 인쇄 화면에서 볼 수 있듯이 스크립트 태그를 사용하여 Anime JavaScript 라이브러리 를 계속 추가 하십시오 . 이 멋진 라이브러리를 사용하여 튜토리얼의 다음 단계에서 비틀림 효과를 만들 것입니다.
- src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"

JQuery 코드 삽입
햄버거 메뉴의 클릭 기능은 다음 JQuery 코드로 구동됩니다. 아래 인쇄 화면에서 볼 수 있듯이 이 코드를 스크립트 태그 사이에 배치해야 합니다.
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() == '-' ? '+' : '-');
});
});
});
전체 화면 헤더 디자인을 완료하는 즉시 CSS 클래스 활성화
마지막으로 첫 번째 섹션에서 찾을 수 있는 코드 모듈에서 CSS 클래스를 활성화할 것입니다. 코드 모듈을 열고 클래스의 시작과 끝에서 "/* */"를 제거하십시오. 이 클래스를 활성화하면(이미 활성화된 일부 JQuery 코드와 함께) 누군가가 페이지 중 하나를 방문할 때 메뉴 항목이 포함된 섹션이 즉시 로드되지 않습니다. 이 클래스를 활성화하면 페이지의 두 번째 섹션이 Visual Builder에서 사라지지만 여전히 와이어프레임 모드에서 액세스하거나 추가 변경을 수행하려는 경우 CSS 클래스를 끌 수 있습니다.

5. 헤더 및 테마 빌더 변경 사항 저장
그게 다야! 이제 템플릿과 Divi Theme Builder를 저장하고 웹사이트에서 결과를 확인하는 일만 남았습니다!


시사
이제 모든 단계를 거쳤으므로 다양한 화면 크기에 따른 결과를 최종적으로 살펴보겠습니다.
데스크탑

이동하는

마지막 생각들
이 게시물에서는 Divi 헤더로 창의력을 발휘하는 방법을 보여 드렸습니다. 보다 구체적으로, 맞춤형 애니메이션 햄버거 메뉴를 만드는 방법을 보여 주었습니다. 방문자가 햄버거 아이콘을 클릭하는 즉시 전체 화면 메뉴가 전환되어 메뉴 항목이 하나씩 표시되어 아름다운 사용자 경험을 제공합니다. 템플릿 JSON 파일도 무료로 다운로드할 수 있었습니다! 질문이 있는 경우 아래 댓글 섹션에 댓글을 남겨주세요.
Divi에 대해 자세히 알아보고 더 많은 무료 Divi를 받고 싶다면 이메일 뉴스레터와 YouTube 채널을 구독하세요. 그러면 항상 이 무료 콘텐츠를 가장 먼저 알고 혜택을 받을 수 있습니다.
