Divi 및 GSAP로 세로로 스크롤할 때 자동으로 가로로 스크롤하는 방법
게시 됨: 2021-03-17웹에서 웹사이트를 더 많이 탐색할수록 실제로 맞춤화된 페이지 경험을 더 많이 접하게 됩니다. 특정 고급 기능을 달성하는 방법에 대해 궁금해 했을 수 있으며 대답은 종종 다음과 같습니다. 애니메이션 JavaScript 라이브러리를 사용하는 것입니다. 요즘 인기 있는 애니메이션 라이브러리는 GSAP입니다. 그러나 JavaScript 라이브러리를 사용하고 싶다고 해서 HTML 및 CSS 부분도 수동으로 통과해야 하는 것은 아닙니다. Divi는 웹 디자인 프로세스의 더 큰 부분을 차지할 수 있습니다. 사용자 정의 기능과 애니메이션에 더 많은 시간을 할애할 수 있습니다. 예를 들어 오늘의 튜토리얼에서는 Divi 및 GSAP를 사용하여 실제로 세로로 스크롤할 때 가로로 스크롤하는 방법을 보여 드리겠습니다. 그 결과 원하는 대로 사용자 정의할 수 있는 고급 애니메이션 효과가 나타납니다. JSON 파일도 무료로 다운로드할 수 있습니다!
시작하겠습니다.
시사
튜토리얼을 시작하기 전에 다양한 화면 크기에 따른 결과를 간단히 살펴보겠습니다.
데스크탑

이동하는

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

무료로 다운로드
Divi 뉴스레터에 가입하면 최고의 Divi 랜딩 페이지 레이아웃 팩과 수많은 놀라운 무료 Divi 리소스, 팁 및 요령을 이메일로 보내드립니다. 따라하시면 금세 Divi 마스터가 되실 것입니다. 이미 구독한 경우 아래에 이메일 주소를 입력하고 다운로드를 클릭하여 레이아웃 팩에 액세스하십시오.
성공적으로 구독했습니다. 이메일 주소를 확인하여 구독을 확인하고 무료 주간 Divi 레이아웃 팩에 액세스하세요!
접근 방식 개요
우리가 사용하는 것
- 디비
- GSAP 자바스크립트 라이브러리
- GSAP용 ScrollTrigger 플러그인
- ScrollTrigger 데모
우리가 만들고 있는 것
- 수직으로 스크롤할 때 가짜 수평 스크롤
- 핀 효과
- 선택한 섹션의 여러 부분에 효과를 적용합니다(전체 페이지가 아닐 수도 있음).
- 모든 화면 크기에서 손쉬운 가로 화면 경험
1. 자리 표시자 섹션 추가
섹션 #1 추가
작업 중인 페이지에 첫 번째 섹션을 추가하여 시작하십시오. 이 섹션은 자리 표시자 역할을 하므로 효과가 제자리에 떨어지는 것을 볼 수 있습니다.

사이징
단면 설정을 열고 크기 설정에 높이를 지정합니다.
- 높이: 60vh

복제 섹션 #1
그런 다음 자리 표시자 섹션을 한 번 복제합니다. 이것은 수평 스크롤의 일부가 아닌 페이지의 상단과 하단에 약간의 공간을 생성하는 데 도움이 됩니다(미리보기 참조).

1. 섹션 디자인 구축
섹션 사이에 새 섹션 추가
이제 두 개의 자리 표시자 섹션이 준비되었으므로 수평 스크롤 내부에서 사용할 첫 번째 섹션을 만들 차례입니다. 두 자리 표시자 섹션 사이에 바로 이 섹션을 추가합니다.

사이징
섹션 설정을 열고 크기 설정에서 최대 높이를 지정합니다.
- 최대 높이: 100vh

오버플로
또한 수직 오버플로를 자동으로 설정하고 있습니다. 이것은 이전 단계의 최대 높이와 함께 섹션 요소가 뷰포트 높이를 초과하는 특정 화면 크기에서 스크롤바를 자동으로 생성하는 데 도움이 됩니다.
- 수직 오버플로: 자동

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

배경 이미지
아직 모듈을 추가하지 않고 행 설정을 열고 배경 이미지를 사용하십시오.
- 배경 이미지 크기: 표지
- 배경 이미지 위치: 중앙

사이징
다음 행의 크기 설정을 수정합니다.
- 사용자 지정 거터 너비 사용: 예
- 거터 폭: 1
- 너비:
- 데스크탑: 70%
- 태블릿 및 전화: 80%

간격
간격 설정과 함께.
- 탑 패딩:
- 데스크탑: 30vh
- 태블릿 및 전화: 20vh
- 하단 패딩: 0px

열 설정
그런 다음 열 설정을 엽니다.

배경색
열에 흰색 배경색을 사용합니다.
- 배경색: #ffffff

간격
열의 디자인 탭으로 이동하여 사용자 지정 패딩 값을 적용합니다.
- 탑 패딩: 5%
- 하단 패딩: 5%
- 왼쪽 패딩: 5%
- 오른쪽 패딩: 5%

국경
테두리도 사용하세요.
- 테두리 너비: 1px
- 테두리 색상: #000000

열에 텍스트 모듈 #1 추가
H4 콘텐츠 추가
일부 H4 콘텐츠가 포함된 첫 번째 텍스트 모듈부터 시작하여 모듈을 추가할 시간입니다.

H4 텍스트 설정
모듈의 디자인 탭으로 이동하여 H4 텍스트 설정을 다음과 같이 변경합니다.
- 제목 4 글꼴: 소스 코드 프로
- 제목 4 텍스트 색상: #000000
- 제목 4 텍스트 크기:
- 데스크탑: 1.2vw
- 태블릿: 2.5vw
- 전화: 3.5vw
- 제목 4 글자 간격: 1px

열에 텍스트 모듈 #2 추가
H3 콘텐츠 추가
이전 모듈 바로 아래에 다른 텍스트 모듈을 추가하고 콘텐츠 상자에 일부 H3 콘텐츠를 사용합니다.

H3 텍스트 설정
모듈의 디자인 탭으로 이동하여 그에 따라 H3 텍스트 설정을 변경합니다.
- 제목 3 글꼴: Alata
- 제목 3 텍스트 크기:
- 데스크탑: 2.5vw
- 태블릿: 4vw
- 전화: 7vw


열에 텍스트 모듈 #3 추가
콘텐츠 추가
선택한 설명 내용이 포함된 마지막 텍스트 모듈을 열에 추가합니다.

텍스트 설정
이에 따라 모듈의 텍스트 설정을 변경합니다.
- 텍스트 글꼴: 소스 코드 프로
- 텍스트 크기:
- 데스크탑: 0.8vw
- 태블릿: 2vw
- 전화: 3vw
- 텍스트 줄 높이: 1.5em

사이징
다음으로 크기 설정을 변경합니다.
- 너비:
- 데스크탑: 67%
- 태블릿 및 전화: 100%

간격
그리고 간격 설정에 반응형 패딩 값을 적용하여 모듈 설정을 완료합니다.
- 탑 패딩:
- 데스크탑: 3vh
- 태블릿 및 전화: 5vh
- 하단 패딩:
- 데스크탑: 3vh
- 태블릿 및 전화: 5vh

열에 버튼 모듈 추가
사본 추가
행 디자인을 완료하는 데 필요한 마지막 모듈은 버튼 모듈입니다. 원하는 사본을 추가하십시오.

버튼 설정
모듈의 디자인 탭으로 이동하여 그에 따라 버튼 설정을 변경합니다.
- 버튼에 사용자 정의 스타일 사용: 예
- 버튼 텍스트 크기:
- 데스크탑: 0.8vw
- 태블릿: 2vw
- 전화: 3vw
- 버튼 텍스트 색상: #ffffff
- 버튼 배경색: #000000
- 버튼 테두리 너비: 0px
- 버튼 테두리 반경: 0px
- 버튼 글꼴: 소스 코드 프로
- 버튼 글꼴 스타일: 대문자


간격
다음으로 몇 가지 사용자 정의 패딩 값을 추가합니다.
- 상단 패딩: 15px
- 하단 패딩: 15px
- 왼쪽 패딩: 50px
- 오른쪽 패딩: 50px

위치
고급 탭에서 모듈의 위치를 변경합니다.
- 위치: 절대
- 위치: 왼쪽 하단 모서리
- 수직 오프셋: -5%
- 수평 오프셋: 5%

2. 재사용 섹션
섹션을 두 번 복제
첫 번째 섹션을 완료하면 두 번 복제할 수 있습니다.

이미지 변경 및 복사 및 링크
각 중복 섹션에서 이미지, 복사 및 링크를 변경했는지 확인하십시오.

2. 기능 추가
가로 스크롤에 포함하려는 각 섹션에 CSS 클래스 추가
이제 모든 요소가 준비되었으므로 모든 요소의 기능에 집중할 수 있습니다. 결과를 달성하기 위한 첫 번째 단계는 수평 스크롤의 일부가 될 각 섹션에 사용자 정의 CSS 클래스를 할당하는 것입니다. 이 경우 자리 표시자 섹션 사이 의 세 섹션을 의미합니다.
- CSS 클래스: 수평 섹션

페이지 내부 어딘가에 새 코드 모듈 추가
그런 다음 페이지에 코드 모듈을 추가합니다. 이것은 당신이 원하는 모든 곳에서 가능합니다.

먼저 GSAP 및 ScrollTrigger 라이브러리 추가
코드 모듈 내부에 GSAP 및 ScrollTrigger 라이브러리를 복사하여 붙여넣습니다. 이를 위해 다음 소스와 함께 스크립트 태그를 사용하십시오.
src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/gsap.min.js" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/ScrollTrigger.min.js"

사용자 지정 코드에 대한 새 스크립트 태그 추가
라이브러리 스크립트 태그 바로 아래에 몇 가지 새 스크립트 태그를 추가합니다.

JS 코드 추가
JQuery 사용 준비
이 스크립트 태그 내에서 JQuery를 로드하는 것으로 시작합니다.
jQuery(document).ready(function($){
});
ScrollTrigger 플러그인 등록
그런 다음 ScrollTrigger 플러그인을 등록합니다.
gsap.registerPlugin(ScrollTrigger);

모든 관련 섹션을 새 Div로 래핑
또한 다음 코드 줄을 사용하여 새 div 안에 관련 섹션을 각각 배치합니다.
var allSections = $('.horizontal-section');
allSections.wrapAll('<div class="horizontal-container"/>'); 
ScrollTrigger를 사용하여 새 GSAP 트윈 만들기
가짜 수평 스크롤이 작동하도록 하기 위해 스크롤 트리거가 있는 새 트윈을 사용할 것입니다. 이를 가능하게 하는 코드는 다음과 같습니다.
gsap.to(allSections, {
xPercent: -100 * (allSections.length - 1),
ease: "none",
scrollTrigger: {
trigger: ".horizontal-container",
pin: true,
start: "top top",
scrub: 1,
snap: false,
// base vertical scrolling on how wide the container is so it feels more natural.
end: () => "+=" + document.querySelector(".horizontal-container").offsetWidth
}
});
사용자 정의 CSS 코드에 대한 스타일 태그 추가
다음으로 코드 모듈에 몇 가지 스타일 태그를 추가합니다.

스타일 태그 사이에 CSS 코드 삽입
스타일 태그 사이에 다음 CSS 코드 줄을 추가하여 자습서와 기능을 완료합니다.
.horizontal-container {
width: 300%;
height: 100%;
display: flex;
flex-wrap: nowrap;
max-width: none;
}
#page-container {
overflow: hidden;
}
.horizontal-section {
width: 100%;
will-change: transform;
}
시사
이제 모든 단계를 거쳤으므로 다양한 화면 크기에 따른 결과를 최종적으로 살펴보겠습니다.
데스크탑

이동하는

마지막 생각들
이 게시물에서 우리는 Divi와 GSAP를 사용하여 웹사이트를 더욱 멋지게 만드는 방법을 보여 주었습니다. 보다 구체적으로, 실제로 페이지에서 세로로 스크롤할 때 가로로 스크롤하는 방법을 보여 주었습니다. 이것은 특정 시점에서 접하고 DIvi로 어떻게 할 수 있는지 궁금해했을 수도 있는 사용자 지정 유형의 애니메이션입니다. JSON 파일도 무료로 다운로드할 수 있었습니다! 질문이나 제안 사항이 있으면 아래의 댓글 섹션에 자유롭게 의견을 남겨주세요.
Divi에 대해 자세히 알아보고 더 많은 무료 Divi를 받고 싶다면 이메일 뉴스레터와 YouTube 채널을 구독하세요. 그러면 항상 이 무료 콘텐츠를 가장 먼저 알고 혜택을 받을 수 있습니다.
