CSS 애니메이션 생성기
@keyframes를 처음부터 쓰는 것은 지루합니다. 퍼센트를 고르고, 속성을 추측하고, 새로고침하고, 보고, 조정합니다. 이 생성기는 여섯 가지 완성된 애니메이션(페이드, 슬라이드 업, 바운스, 스핀, 펄스, 셰이크)을 제공하며 애니메이션 이름, 지속 시간, 이징, 반복 횟수, 방향을 설정할 수 있습니다. 결과는 실시간으로 재생되며, 만족스러우면 생성된 @keyframes 블록과 단축 animation 속성을 복사하세요.
CSS 애니메이션 만드는 방법
-
1
프리셋 선택
여섯 가지 기본 애니메이션 중 하나를 고르세요: 페이드, 슬라이드 업, 바운스, 스핀, 펄스 또는 셰이크.
-
2
애니메이션 이름 지정
키프레임에 유효한 CSS 식별자를 주세요. 예: `cardIn` 또는 `fadeIn`. 같은 이름이 `animation` 단축 속성에도 사용됩니다.
-
3
시간과 반복 설정
초 단위 지속 시간, 이징(ease, ease-in, ease-out, ease-in-out, linear, spring), 반복 횟수(1, 2, 3, infinite), 방향(normal, reverse, alternate, alternate-reverse).
-
4
CSS 복사
생성된 `@keyframes` 규칙과 `animation:` 단축 속성을 스타일시트에 바로 붙여넣으세요.
애니메이션 해부
@keyframes slide-in {
0% { transform: translateX(-100%); opacity: 0; }
60% { transform: translateX(10%); opacity: 1; }
100% { transform: translateX(0); opacity: 1; }
}
.card {
animation: slide-in 400ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
단축 속성의 여덟 가지: animation-name duration timing-function delay iteration-count direction fill-mode play-state.
이징 선택
이 생성기가 제공하는 이징 함수는 여섯 가지입니다:
| 이징 | cubic-bezier() | 느낌 |
|---|---|---|
| linear | 해당 없음 | 일정한 속도 |
| ease-in | 0.42, 0, 1, 1 |
느린 시작, 빠른 끝 |
| ease-out | 0, 0, 0.58, 1 |
빠른 시작, 느린 끝 |
| ease-in-out | 0.42, 0, 0.58, 1 |
느림-빠름-느림 |
| ease(기본) | 0.25, 0.1, 0.25, 1 |
부드러운 기본 |
| spring | 0.68, -0.55, 0.27, 1.55 |
목표를 지나쳤다가 안착 |
올바른 속성을 애니메이션하세요
브라우저는 어떤 속성이든 애니메이션할 수 있지만, 레이아웃이나 페인트를 유발하지 않고 GPU에서 부드럽게 처리되는 것은 몇 개뿐입니다:
저렴(컴포지트 전용): transform, opacity, filter.
비쌈(레이아웃/페인트): width, height, top, left, margin, padding, background-color.
작은 요소에서는 width와 top을 60fps로 애니메이션하는 것이 가능하지만, 한 번에 여러 개를 애니메이션하면 모바일에서 뚝뚝 끊깁니다. 복잡한 모션에는 항상 top / left보다 transform: translate(...)를, 애니메이션 width/height보다 transform: scale(...)를 선호하세요.
will-change: 아껴 쓰세요
브라우저에 컴포지트 레이어를 미리 할당하도록 알리면 부드러움에 도움이 될 수 있습니다:
.card { will-change: transform; }
하지만 메모리를 소비합니다. 애니메이션이 트리거되기 직전에 적용하고, 끝나면 제거하세요. 많은 요소에 will-change: transform을 영구 설정하면 도움보다 해가 될 수 있습니다.
모션 감소
일부 사용자는 모션 민감성이 있어 OS 설정을 합니다:
@media (prefers-reduced-motion: reduce) {
.card {
animation: none;
}
}
이 설정을 존중하세요. 즉각적인 상태 변경이나 아주 미묘한 페이드를 폴백으로 제공하세요.
자주 묻는 질문
단순하고 선언적이며 일회성 모션은 CSS. JavaScript 주도 타이밍, 동적 키프레임, 일시정지와 재생 제어는 Web Animations API(element.animate()). 둘 다 컴포지터에서 실행되며 어느 쪽이 본질적으로 더 빠르지는 않습니다.
거의 항상 transform 대신 레이아웃을 유발하는 속성(width, top, margin)을 애니메이션하기 때문입니다. translate()와 scale()로 바꾸면 보통 끊김이 사라집니다.
네, animation: a 1s, b 1s 1s, c 1s 2s;는 지연을 엇갈리게 두어 세 애니메이션을 순차 실행합니다. 이 생성기는 단일 애니메이션을 출력하므로 추가 항목은 단축 속성에 직접 덧붙이세요. 더 복잡한 안무는 Web Animations API나 GSAP 같은 라이브러리를 쓰세요.
애니메이션 시작 전(지연 동안)에 요소가 from 상태를 취하게 하고, 애니메이션 종료 후에 to 상태를 유지하게 합니다. both이 없으면 애니메이션이 끝날 때 요소가 애니메이션 이전 스타일로 되돌아갑니다. 이 생성기는 단축 속성을 최소한으로 유지하므로 필요하면 fill mode를 직접 추가하세요.
관련 도구
FPS 카운터
requestAnimationFrame으로 브라우저 FPS를 측정하세요. 스무딩, 최소/최대 프레임레이트, 경고 임계값, 선택형 그래프를 제공합니다. 업로드나 API 없이 로컬에서 실행됩니다.
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
ASCII 이진수 변환기
ASCII 문자열을 이진수 표현으로 변환하세요. 각 문자는 8비트가 되고 공백으로 구분되어 프로토콜 추적이나 과제에 바로 붙여넣기 좋습니다.
색상 틴트 생성기
기준 색의 밝은 틴트를 생성합니다. 디자인 시스템 토큰, 배경, 호버 상태를 위한 3-20단계 스케일.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이 도구는 다른 언어로도 제공됩니다
- مولّد CSS Animation [AR]
- CSS-animationsgenerator [SV]
- Trình tạo animation CSS [VI]
- CSS-animatiegenerator [NL]
- ตัวสร้าง CSS Animation [TH]
- Generator animacji CSS [PL]
- Generador de Animaciones CSS [ES]
- Générateur d'animation CSS [FR]
- CSS-Animationsgenerator [DE]
- Gerador de Animação CSS [PT]
- CSSアニメーション生成ツール [JA]
- Generator Animasi CSS [ID]
- CSS Animasyon Oluşturucu [TR]
- CSS 动画生成器 [ZH]
- CSS Animation Generator [EN]
- Generatore di animazioni CSS [IT]
- Генератор CSS-анимации [RU]