λΈλΌμ°μ κ° λ‘λ©λλ μκ° μ λλ©μ΄μ μ νμμμ±κ³Ό @keyframesλͺ¨λμ μ΄μ©νμ¬ μμ§μμ λ§λ λ€.
μμ±
-animation
: νμμμ±λ€μ 곡백μΌλ‘ ꡬλΆνμ¬ νκΊΌλ²μ μ μΈν λ μ¬μ©νλ€.
-animation-delay
: μ λλ©μ΄μ
μ μ§μ°μκ°μ μ§μ νλ€. λ¨μλ sλ₯Ό μ¬μ©
-animation-direction
: μ λλ©μ΄μ
μ μ§ν λ°©ν₯μ μ€μ νλ€.
β β β
[-animation-direction μμ±]
- animation-iteration(λ°λ³΅)-count
: μ λλ©μ΄μ
μ λ°λ³΅ νμλ₯Ό μ§μ νλ€.
λ¨μμμ΄ μ«μλ§ μ°κ±°λ infinite(무νλ°λ³΅) κ°μ μΈ μ μλ€.
- animation-nameπ
: νμ μμ±μΌλ‘ μ λλ©μ΄μ
μ μ΄λ¦μ΄ μμΌλ©΄ μ λλ©μ΄μ
μ΄ λμνμ§ μλλ€.
- animation-play-state(μ§νμν©)
: κ° runningμ΄λ paused(λ©μΆ€)λ₯Ό μ¬μ©νμ¬ μ λλ©μ΄μ
μ μ¬μμνλ₯Ό μ§μ νλ€.
- animation-timing-function
: transition-timing-functionκ³Ό λμΌν κ°μ μ¬μ©νμ¬ μλ μ‘°μ
(ease, ease-in, ease-out, linear, ease-in-out)
- animation-fill-mode
: backwardλ κΈ°λ³Έκ°μΌλ‘ μ λλ©μ΄μ
μ΄ λλλ©΄ μλμ μ΄κΈ° μμΉλ‘ λμμ¨λ€.
forwardλ μ λλ©μ΄μ
μ μ’
λ£μμ μ λͺ¨μ΅μ μ μ§νλ€.
-μ λλ©μ΄μ μΌλ‘ νκ·Έμ μμ§μμ μ€μ νκ³ @keyframes λͺ¨λλ‘ μ€μ λ‘ μμ§μ΄λ λμμ μ€ννλ€.
-@keyframes λͺ¨λμ μ§μ λ μκ°μμ μ΄λ€ λμμ λ§λ€κ²μΈμ§λ₯Ό μ§μ νλ€.
-@keyframes μμμ μκ°μ μν΄ λ³νλλ λΆλΆμ "μ νμ"λ‘ κ΅¬λΆνλ€.
μ νμλ 0% λλ fromμ΄λΌκ³ μ°λ©΄ μ λλ©μ΄μ
μ μμμ§μ (0μ΄ μ§μ )μ λ§νκ³
100% λλ toλΌκ³ μ°λ©΄ μ λλ©μ΄μ
μ΄ λλλ μ§μ μ λ§νλ€.
ex)
10μ΄μ§λ¦¬ μ λλ©μ΄μ
μμ 2μ΄μ§μ μ 20%
μ€κ°μ§μ μ 50%
μμμ§μ μ from
λλλ μ§μ μ to
[κΈ°λ³Έν]
β keyframesκ° μ λλ©μ΄μ λ³΄λ€ μμ μμΌλ©΄ μλμν¨β
μ νμ{
animation : μμ±1 μμ±2...;
}
@keyframes μ λλ©μ΄μ
μ΄λ¦{
from λλ 0% {μ€νμΌ μμ±: κ°; }
50% { μ€νμΌ μμ± : κ°; }
to λλ 100% {μ€νμΌ μμ±: κ°; }
}
-will-change μμ±μ λΈλΌμ°μ μκ² μμμ μμ λ³κ²½ μ¬νμ μλ €μ£Όλ μμ±
-μ΄ μμ±μ μ¬μ©νλ©΄ λΈλΌμ°μ λ μμκ° μ€μ λ‘ μ€νμΌ λ³νμ΄ νμν λ νμν 리μμ€λ₯Ό
μ¬μ μ μ΅μ ν νμ¬ μμμ μ€νμΌ λ³κ²½κ³Ό λ λλ§μ λ λΉ λ₯΄κ³ μ΅μ νλ λ°©μμΌλ‘ μ²λ¦¬νλ€.
-will-changeμ μμ±κ°μΌλ‘λ μ λλ©μ΄μ (ν€νλ μ)κ³Ό transition λλ transformμΌλ‘ λ³νμν¬ μμ±μ μμ±λͺ μ μ¬μ©νλ€.
[μμ±κ°]
- auto : λ³κ²½ μμ μΈ μμ±μ λν μ΅μ ν
- scroll-position : μ€ν¬λ‘€ μμΉμ λν μ΅μ ν
- contents : μμ λ΄μ©μ λ³κ²½μ λν μ΅μ ν
- πopacity : ν¬λͺ
λ λ³κ²½μ λν μ΅μ ν
- πtransform : λ³νμμ±μ λν μ΅μ ν
- πperspective : μκ·Όκ° λ³κ²½μ λν μ΅μ ν
- left/top/right/bottom : μ’νκ° λ³κ²½μ λν μ΅μ ν
- color/ background-color : μμ λ³κ²½μ λν μ΅μ ν
- all : λͺ¨λ λ³κ²½μ λν μ΅μ ν
μ΄λ―Έμ§λ λΉλμ€ κ°μ μκ° μμλ λ°μνμΌλ‘ ν¬κΈ°κ° λ°λλ©΄ μλ μ΄λ―Έμ§λ λΉλμ€μ κ°λ‘ μΈλ‘ λΉμ¨μ κ·Έλλ‘ μ μ§νκΈ° μ΄λ ΅λ€. object-fitμ μ¬μ©νλ©΄ 컨ν μΈ (μ΄λ―Έμ§λ λΉλμ€)μ κ°λ‘ μΈλ‘ λΉμ¨μ μ μ§νλ©΄μ ν΄μλμ λ§κ² ν¬κΈ°λ₯Ό μ‘°μ ν μ μλ€.
[μμ±κ°]
- fill : κΈ°λ³Έκ°μΌλ‘ 컨ν
μΈ μ μλ λΉμ¨μ 무μνκ³ μμμ μ 체 μμμ μ±μ΄λ€.
- contain : λΉμ¨μ μ μ§νλ©΄μ μμμ μ 체 μμμ λ§μΆ μ μμ λ§νΌ νλνλ€.
μμμ λͺ¨λ μ±μ°μ§ λͺ»ν μ μλ€.
- cover : λΉμ¨μ μ μ§νλ©΄μ μμμ μ 체 μμμ λ§μΆ μ μμ λ§νΌ νλνλ€.
μμμ μ±μΈλ 컨ν
μΈ μ μΌλΆλ₯Ό μλ₯Όμλ μλ€.
- none : 컨ν
μΈ μ μλ ν¬κΈ°λ₯Ό μ μ§νλ€.
- scale-down : noneκ³Ό containμ€ ν¬κΈ°κ° λ μμμ§λ κ°μΌλ‘ μ€μ νλ€.

:rootμ νμ
:rootμ νμλ λ¬Έμμ μ΅μμ μμ μ¦, htmlνκ·Έλ₯Ό λ§νλ κ²μ΄λ€.
:rootλ μΉλ¬Έμμμ μ¬μ©ν μ€νμΌλ€μ μ 체μ μΌλ‘ μ μΈνλ 곡κ°μΌλ‘, μΌμ’ μ 'μ€νμΌ κ°μ΄λ'λ‘ μ¬μ©νλ€. :rootμμ μ¬μ©ν λ³μλ‘ μ μΈνλ©΄ μΌκ΄μ μΈ λμμΈμ μ½κ² μ μ§ν μ μλ€.
λ¨, λ³μ μ΄λ¦μ μ§μλμλ μλ¬Έμλ‘λ§ μ§μ΄μΌνλ€.
λ³μλ νμν λλ§λ€ κ°μ μ μ₯ν΄λκ³ μ¬μ©νλ λ°μ΄ν° κ·Έλ¦μ λ§νλ€.
cssμμ μ¬μ©νλ λ³μλ μΌκ΄μ μΈ λμμΈμ μ μ§νκΈ° μν΄ λ―Έλ¦¬ μΉ λ¬Έμμμ μ¬μ©ν μ€νμΌμ μ΄λ¦μ λΆμ¬μ μ μ₯νλ μν μ νλ€.
[κΈ°λ³Έν]
:root{
--λ³μμ΄λ¦ : κ°;
}
πvar(--λ³μμ΄λ¦)
λ³μμ μ μ₯νλ κ°μ νμνλ ν¨μμ΄λ€.
[κΈ°λ³Έν]
μ νμ{
color : var(--λ³μμ΄λ¦);
}
