π νΈλμ€νΌ(Transform)μ μμμ μ΄λ(translate)
, νμ (rotate)
, νλμΆμ(scale)
, λΉνκΈ°(skew)
ν¨κ³Όλ₯Ό λΆμ¬νκΈ° μν ν¨μλ₯Ό μ 곡νλ€.
νΈλμ§μ (transition)
μ CSS μ€νμΌ λ³κ²½μ λΆλλ½κ² νννκΈ° μν΄ duration(μ§μμκ°)μ λΆμ¬νμ¬ μλλ₯Ό μ‘°μ νλ€.
μ λλ©μ΄μ (animation)
μ νλμ μ€κ±°λ¦¬(@keyframes)λ₯Ό ꡬμ±νμ¬ μ€κ±°λ¦¬ λ΄μμ μΈλΆ μμ§μμ μκ° νλ¦ λ¨μλ‘ μ μ΄νμ¬ μμμ μμ§μμ νννλ€.
νΈλμ€νΌ(Transform)
μ μμμ μ΄λ(translate), νμ (rotate), νλμΆμ(scale), λΉνκΈ°(skew) ν¨κ³Όλ₯Ό λΆμ¬νκΈ° μν ν¨μλ₯Ό μ 곡νλ€. λ¨ μ λλ©μ΄μ ν¨κ³Όλ₯Ό μ 곡νμ§λ μκΈ° λλ¬Έμ μ μλ νλ‘νΌν°κ° λ°λ‘ μ μ©λμ΄ νλ©΄μ νμλλ€. νΈλμ€νΌμ μ λλ©μ΄μ ν¨κ³Όλ₯Ό μν΄ μ¬μ©νμ¬μΌ νλ κ²μ μλμ§λ§ μ λλ©μ΄μ ν¨κ³Όλ₯Ό λΆμ¬ν νμκ° μλ€λ©΄ νΈλμ§μ μ΄λ μ λλ©μ΄μ κ³Ό ν¨κ» μ¬μ©νλ€.
β λ§μ½ νλμ νκ·Έμ μ¬λ¬κ°μ transform λ³νν¨μ(translate, scale λ±) λ₯Ό μ μ©νκ³ μΆλ€λ©΄, λ³νν¨μλ₯Ό νλ‘νΌν°κ°μΌλ‘ μΌνμμ΄ λμ΄νλ€. λμ΄μμμ λ°λΌ μ°¨λ‘λλ‘ ν¨κ³Όκ° μ μ©λλ€.
/* μμ */ transform: scale(1) rotate(0) translateX(30px);
transform μμ± | ν¨κ³Ό | μ€λͺ | λ¨μ |
---|---|---|---|
translate(x,y) | μ΄λν¨κ³Ό | μμμ μμΉλ₯Ό XμΆμΌλ‘ xλ§νΌ, YμΆμΌλ‘ yλ§νΌ μ΄λ | px, %, em λ± |
translateX(n) | μ΄λν¨κ³Ό | μμμ μμΉλ₯Ό XμΆμΌλ‘ nλ§νΌ μ΄λ | px, %, em λ± |
translateY(n) | μ΄λν¨κ³Ό | μμμ μμΉλ₯Ό YμΆμΌλ‘ nλ§νΌ μ΄λ | px, %, em λ± |
----------------------- | ---------------- | --------------------------------------------------------------- | -------------- |
scale(x,y) | νλ/μΆμ ν¨κ³Ό | μμμ ν¬κΈ°λ₯Ό XμΆμΌλ‘ xλ°°, YμΆμΌλ‘ yλ°° νλ λλ μΆμ | 0κ³Ό μμ |
scaleX(n) | νλ/μΆμ ν¨κ³Ό | μμμ ν¬κΈ°λ₯Ό XμΆμΌλ‘ nλ°° νλ λλ μΆμ | 0κ³Ό μμ |
scaleY(n) | νλ/μΆμ ν¨κ³Ό | μμμ ν¬κΈ°λ₯Ό YμΆμΌλ‘ nλ°° νλ λλ μΆμ | 0κ³Ό μμ |
----------------------- | ---------------- | --------------------------------------------------------------- | -------------- |
skew(x-angle,y-angle) | λΉνκΈ° ν¨κ³Ό | μμλ₯Ό XμΆμΌλ‘ x κ°λλ§νΌ, YμΆμΌλ‘ y κ°λλ§νΌ κΈ°μΈμΈλ€ | +/- κ°λ(deg) |
skewX(x-angle) | λΉνκΈ° ν¨κ³Ό | μμλ₯Ό XμΆμΌλ‘ x κ°λλ§νΌ κΈ°μΈμΈλ€. | +/- κ°λ(deg) |
skewY(y-angle) | λΉνκΈ° ν¨κ³Ό | μμλ₯Ό YμΆμΌλ‘ y κ°λλ§νΌ κΈ°μΈμΈλ€. | +/- κ°λ(deg) |
----------------------- | ---------------- | --------------------------------------------------------------- | -------------- |
rotate(angle) | νμ ν¨κ³Ό | μμλ₯Ό angleλ§νΌ νμ | +/- κ°λ(deg) |
/* translate */ .translate_div { transform: translate(10px, 50px); /* μμΉλ₯Ό κ° 10px, 50pxλ§νΌ μ΄λ */ } /* β translate() κ°μ΄ νλλ§ μμ κ²½μ°μλ κ°λ‘ λ°©ν₯ μ΄λλ§μ λνλ΄λ©°, μΈλ‘ λ°©ν₯ μ΄λμ μλ€κ³ κ°μ£Όν¨ β κΈ°λ³ΈκΈ°μ€μ μ μμμ μ μ€μμ΄λ€ (50%, 50%) = transform-origin */ /* scale */ .scale_div { transform: scale(.75); /* 0.75λ°° ν¬κΈ° λ³κ²½ */ } .scale_div:hover { transform: scale(1.0); /* hoverμ ν¬κΈ° λ³κ²½ ν¨κ³Ό */ } /* skew */ .skew_div { transform: skew(5deg, -20deg); } .skew_div:hover { transition: transform 1s linear; transform: skew(0, 0); } /* rotate */ .rotate_div { transform: rotate(70deg); transition-duration: 2s; /* μ¬λ¬κ°μ λ³ν ν¨μλ₯Ό μ μν λ(μΌν μμ΄ λμ΄νκΈ°) */ .complex { transform: scale(.5) rotate(20deg); } .complex:hover { transition: transform 1s linear; transform: scale(1) rotate(0); }