CSS Keyframes 생성기
@keyframes 규칙은 애니메이션의 이정표를 정의합니다. 요소가 시작, 중간, 끝에서 어떻게 보일지입니다. 이 생성기는 흔히 쓰는 네 가지 움직임, 페이드 슬라이드, 펄스, 스핀, 바운스의 규칙을 작성해 드립니다. 애니메이션에 이름을 붙이고 지속 시간을 설정한 다음, 슬라이드와 바운스 프리셋에서는 이동 거리를 픽셀로 지정하세요. 출력은 animation 축약형과 @keyframes 블록으로 스타일시트에 바로 붙여넣으면 됩니다.
Keyframes 생성 방법
-
1
애니메이션 유형 선택
페이드 슬라이드, 펄스, 스핀 또는 바운스. 각 프리셋에는 준비된 프레임이 포함됩니다.
-
2
애니메이션 이름 짓기
`fade-slide` 같은 kebab-case 이름을 사용하며, 나중에 `animation` 축약형에서 쓰입니다.
-
3
지속 시간 설정
초 단위로, 빠른 전환에는 예를 들어 0.6.
-
4
거리 설정 (슬라이드와 바운스)
수직 이동에 사용되는 픽셀 단위 거리.
-
5
CSS 복사
축약형과 `@keyframes` 블록을 스타일시트에 붙여넣으세요.
네 가지 프리셋
페이드 슬라이드
.animated {
animation: fade-slide 0.6s ease both;
}
@keyframes fade-slide {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
요소가 아래에서 위로 미끄러지며 나타납니다.
펄스
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: .8; }
}
부드러운 호흡 효과로, 알림 점과 배지에 좋습니다.
스핀
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
한 바퀴 회전. 로더와 아이콘에 유용합니다.
바운스
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-24px); }
}
요소가 위로 튀었다가 돌아옵니다.
왜 transform과 opacity인가
브라우저는 transform과 opacity를 레이아웃 계산이나 다시 그리기 없이 GPU에서 합성하므로 애니메이션이 부드럽게 유지됩니다. 프리셋은 레이아웃 계산을 일으키는 속성을 의도적으로 피합니다.
animation 축약형
animation: fade-slide 0.6s ease both;는 fade-slide라는 애니메이션, 0.6초 길이, 기본 ease 이징을 뜻합니다. 채우기 모드 both는 애니메이션이 시작되기 전에 시작 상태를 적용하고 끝난 뒤에도 종료 상태를 유지하므로, 요소가 시작 전에 번쩍이거나 움직임 후에 갑자기 되돌아가지 않습니다.
이름 짓기 규칙
- CSS 규칙에 맞게 kebab-case를 사용하세요.
- 요소가 아닌 움직임을 나타내는 이름을 쓰세요.
alert-appear보다fade-in-up이 낫습니다. - 서드파티 라이브러리와 충돌할 수 있는 이름은 피하세요.
브라우저 지원
@keyframes는 보편적이며 IE 10 이후 모든 브라우저에서 지원됩니다.
자주 묻는 질문
카드, 배너, 대화상자처럼 페이지에 들어오는 콘텐츠에는 페이드 슬라이드를 쓰세요. 눈에 띄어야 하는 알림 점, 배지, 버튼에는 펄스. 로더와 진행 아이콘에는 스핀. 클릭 유도 화살표 같은 장난기 있는 강조에는 바운스입니다.
거리는 슬라이드와 바운스 프리셋에서 픽셀 단위의 수직 이동량입니다. 페이드 슬라이드 애니메이션은 24px 아래에서 시작해 위로 미끄러지고, 바운스는 24px 위로 튀었다가 돌아옵니다. 스핀 프리셋은 거리를 쓰지 않습니다.
네, 출력은 순수한 CSS입니다. ease를 다른 이징 키워드나 cubic-bezier(...) 값으로 바꾸고, @keyframes 블록 안에 25%나 75% 같은 중간 백분율을 추가해 움직임을 더 다듬을 수 있습니다.
프레임워크의 재렌더링이 클래스를 다시 적용해 애니메이션을 다시 시작할 수 있기 때문입니다. 종료 상태를 유지하려면 animation-fill-mode: both(이미 출력에 포함됨)를 쓰거나, 재렌더링되는 요소에서 애니메이션 트리거를 분리하세요.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
랜덤 영어 글자 생성기
A-Z 영어 글자를 무작위로 생성합니다. 개수와 대문자, 소문자, 혼합 대소문자를 선택해 게임, 과제, 수업 활동에 활용하세요.
랜덤 색상 팔레트 생성기
2~15개의 색상으로 랜덤 팔레트를 만들고, 비비드, 파스텔, muted, dark 스타일을 선택한 뒤 HEX 코드나 CSS 변수를 복사하세요.