CSS 애니메이션: 흔히 쓰이는 종류와 Tailwind로 손쉽게 구현하기 🎨
CSS 애니메이션은 웹에서 움직임과 생동감을 더하는 데 꼭 필요한 도구입니다. 기본적인 효과부터 Tailwind CSS로 어떻게 간단하게 활용할 수 있는지 예제와 함께 알아봅시다! ✨
1. Fade In/Out (페이드 인/아웃) 🌟
설명
요소가 점점 투명하게 나타나거나 사라지게 하는 효과입니다.
활용 예: 페이지 로드 시 등장 애니메이션, 이미지 슬라이더.
Tailwind CSS 예제
<div class="opacity-0 animate-fade-in">안녕하세요! ✨</div>
Tailwind 애니메이션 정의
@keyframes fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer utilities {
.animate-fade-in {
animation: fade-in 1s ease-in-out forwards;
}
}
2. Slide In/Out (슬라이드 인/아웃) 🛝
설명
요소가 특정 방향에서 나타나거나 사라지는 효과입니다.
활용 예: 사이드 메뉴, 모달 등장.
Tailwind CSS 예제
<div class="transform -translate-x-full animate-slide-in">안녕하세요!</div>
Tailwind 애니메이션 정의
@keyframes slide-in {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
@layer utilities {
.animate-slide-in {
animation: slide-in 0.5s ease-out forwards;
}
}
3. Bounce (바운스) 🏀
설명
요소가 튀어오르는 듯한 애니메이션입니다.
활용 예: 버튼 클릭 유도, 로딩 애니메이션.
Tailwind CSS 예제
<div class="animate-bounce">클릭해 보세요!</div>
Tailwind 내장 클래스
Tailwind는 이미 bounce를 내장 지원합니다!
4. Spin (회전) 🔄
설명
요소가 일정 축을 기준으로 회전하는 효과입니다.
활용 예: 로딩 인디케이터.
Tailwind CSS 예제
<div class="w-10 h-10 border-4 border-blue-500 border-t-transparent rounded-full animate-spin"></div>
Tailwind 내장 클래스
Tailwind의 spin 클래스를 그대로 사용할 수 있습니다.
5. Pulse (맥박) ❤️
설명
요소가 맥박처럼 커졌다 작아졌다 하는 애니메이션입니다.
활용 예: 알림 아이콘, 로딩 상태.
Tailwind CSS 예제
<div class="w-10 h-10 bg-blue-500 rounded-full animate-pulse"></div>
Tailwind 내장 클래스
Tailwind의 pulse 클래스를 바로 활용할 수 있습니다.
6. Wiggle (흔들림) 🐾
설명
요소가 좌우로 흔들리는 애니메이션입니다.
활용 예: 경고 또는 클릭 유도.
Tailwind CSS 예제
<div class="animate-wiggle">주의!</div>
Tailwind 애니메이션 정의
@keyframes wiggle {
0%, 100% {
transform: rotate(-3deg);
}
50% {
transform: rotate(3deg);
}
}
@layer utilities {
.animate-wiggle {
animation: wiggle 0.5s ease-in-out infinite;
}
}
7. Zoom In/Out (확대/축소) 🔍
설명
요소가 점점 커지거나 작아지는 효과입니다.
활용 예: 이미지 확대, 클릭 효과.
Tailwind CSS 예제
<div class="transform scale-50 animate-zoom-in">확대 중...</div>
Tailwind 애니메이션 정의
@keyframes zoom-in {
from {
transform: scale(0.5);
}
to {
transform: scale(1);
}
}
@layer utilities {
.animate-zoom-in {
animation: zoom-in 0.5s ease-in-out forwards;
}
}
8. Shake (좌우 흔들림) 🚨
설명
요소가 경고처럼 좌우로 흔들리는 애니메이션입니다.
활용 예: 비밀번호 입력 오류, 경고 메시지.
Tailwind CSS 예제
<div class="animate-shake">오류 발생!</div>
Tailwind 애니메이션 정의
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-5px);
}
75% {
transform: translateX(5px);
}
}
@layer utilities {
.animate-shake {
animation: shake 0.5s ease-in-out infinite;
}
}
9. Flip (뒤집기) 🔀
설명
요소가 축을 기준으로 뒤집히는 애니메이션입니다.
활용 예: 카드 뒤집기, 전환 효과.
Tailwind CSS 예제
<div class="animate-flip">뒤집어 보세요!</div>
Tailwind 애니메이션 정의
@keyframes flip {
from {
transform: rotateY(0);
}
to {
transform: rotateY(180deg);
}
}
@layer utilities {
.animate-flip {
animation: flip 0.8s ease-in-out forwards;
}
}
10. Glow (빛남) 💡
설명
요소가 점점 밝아졌다가 어두워지는 효과입니다.
활용 예: 버튼 강조, 로딩 애니메이션.
Tailwind CSS 예제
<div class="animate-glow bg-blue-500 text-white p-4 rounded-lg">눌러보세요!</div>
Tailwind 애니메이션 정의
@keyframes glow {
0%, 100% {
box-shadow: 0 0 5px rgba(0, 0, 255, 0.5);
}
50% {
box-shadow: 0 0 20px rgba(0, 0, 255, 1);
}
}
@layer utilities {
.animate-glow {
animation: glow 1.5s ease-in-out infinite;
}
}
마무리하며 🎉
CSS 애니메이션은 사용자 경험을 한 단계 끌어올리는 강력한 도구입니다. Tailwind CSS를 사용하면 애니메이션을 더욱 쉽게 작성하고 관리할 수 있어요. 위 예제들을 바탕으로 다양한 애니메이션을 시도해 보세요. 🌟
🌷전설의 개발자가 되어봅시당!🌷
'Front-end > Animation' 카테고리의 다른 글
React Spring의 useSpring 훅: 생동감 넘치는 애니메이션 만들기 🌱✨ (0) | 2025.02.28 |
---|---|
Tailwind CSS: tailwind.config.js로 커스텀 애니메이션 만들기 🎉 (0) | 2025.02.27 |