logoStephen's 기술블로그

포스트 검색

제목, 태그로 포스트를 검색해보세요

GSAP 문법 기본

GSAP 문법 기본
GSAP
성훈 김
2025년 8월 19일
목차
 

GSAP 설치

기본적으로 두 가지 방법의 설치방법이 있고, 각자의 프로젝트 셋업에 따라 설치하면 된다.
 

CDN

HTML을 사용하는 프로젝트에는 <script> 태그를 추가해주면 된다.
HTML
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script>
 

NPM (Node Package Manager)

node를 사용하는 경우에는 NPM으로 설치가능
Plain Text
npm install gsap
 

기본 GSAP 함수 구성

notion image
gsap 애니메이션을 사용하기 위해서, 설치후 위와 같은 문법으로 애니메이션을 정의할 수 있다.
 

fn() → 애니메이션 함수

이 메소드 문법에는 애니메이션을 정의하는 to(), from(), fromTo(), set() 과 같은 요소를 이동시키는 메소드를 사용할 수 있다. 먼저 어떻게 동작하는 지 직접 선택해보면서 익혀보자.
 
 
💡
Tween이란?
시작과 끝이 명확한 단일 애니메이션, 용어 자체는 ‘in-between’에서 유래되었는데,
애니메이션의 시작 상태와 끝 상태 사이의 모든 중간 동작을 GSAP이 알아서 부드럽게 만들어 준다는 의미
 
따라서, gsap.to(".box", { x: 200 }) 이 코드는 .box라는 클래스를 가진 요소를 오른쪽(x축)으로 200px만큼 부드럽게 움직여라" 라는 의미
 
  • gsap.to()
    • Tween에서 가장 일반적인 메소드이다. 최초 상태에서 vars에 정의된 상태까지 부드러운 애니메이션으로 이동 시키는 역할을 한다.
  • gsap.from()
    • to와는 반대로 작동하는 메소드라고 생각하면 좋은데, vars로 정의한 상태에서 최초 상태로 부드럽게 되돌리는 역할을 한다.
  • gsap.fromTo()
    • fromTo에는 세 가지 인자를 전달할 수 있는데, 시작지점과 마지막 지점을 직접 정의할 수 있다. 그리고 그 사이를 애니메이션으로 이동한다
  • gsap.set()
    • 애니메이션을 사용하지 않고 바로 요소를 이동시키는 역할을 한다.
       

vars → variables

애니메이션에 관한 모든 정보를 가지고 있는 객체라고 할 수 있는데, 두 가지 유의사항이 있다.
  • camelCase 작성
    • css를 그대로 사용할 수 있지만, 사용하기 위해서는 케밥케이스가 아니라 카멜케이스를 사용해야된다.
  • 약어 사용
    • 라이브러리만의 약어가 존재하는데, x: 100pxtranslateX(100px)와 같은 역할을 한다. 이와 같은 약어들이 많다.
 
일반 속성 도표
GSAP
Description or equivalent CSS
x: 100
transform: translateX(100px)
y: 100
transform: translateY(100px)
xPercent: 50
transform: translateX(50%)
yPercent: 50
transform: translateY(50%)
scale: 2
transform: scale(2)
scaleX: 2
transform: scaleX(2)
scaleY: 2
transform: scaleY(2)
rotation: 90
transform: rotate(90deg)
rotation: "1.25rad"
Using Radians - no CSS alternative
skew: 30
transform: skew(30deg)
skewX: 30
transform: skewX(30deg)
skewY: "1.23rad"
Using Radians - no CSS alternative
transformOrigin: "center 40%"
transform-origin: center 40%
opacity: 0
adjust the elements opacity
autoAlpha: 0
shorthand for opacity & visibility
duration: 1
animation-duration: 1s
repeat: -1
animation-iteration-count: infinite
repeat: 2
animation-iteration-count: 2
delay: 2
animation-delay: 2
yoyo: true
animation-direction: alternate
 
특수 속성 도표
속성
설명
duration
애니 메이션 지속 시간
delay
애니메이션의 시작되기 전의 상태
repeat
얼마나 반복시킬지
yoyo
설정이 되어있으면 애니메이션이 반복 될때마다, 반대로 되돌리는 작업을 한다.
stagger
여러 애니메이션이 제공 되었을때, 각 애니메이션 사이의 시간 설정
ease
애니메이션이 진행되는 동안의 속도 변화를 제어하여 움직임의 '개성'이나 느낌을 조절한다. 기본값은 "power1.out"
onComplete
애니메이션이 완료되었을 때 실행할 수 있는 콜백함수

Cheat Sheet

gsap 모든 속성과 문법을 외우고 다니는 것은 빡세니까, 공식 문서에서 코드스니펫 처럼 제공해주는 코드 조각 모음이다.
 

참고자료