λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ(9)
π λ€μ΄κ°κΈ°μ μμ
μ΄ κΈμ λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ
μ 곡λΆνλ©° κΈ°μ΅ν΄λ λ΄μ©λ€μ κ°λ¨νκ² κΈ°λ‘ν κΈμ
λλ€.
μ±
μ λν μμΈν μ¬νμ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ. π
π 1. CSS3 λ³ν(transform)
λ³νμ΄λ?
HTML5κ° λ±μ₯νλ©΄μ νλμκ°μ νλ¬κ·ΈμΈ μμ΄ μΉ λΈλΌμ°μ μ 3μ°¨μμ ꡬνν μ μκ² λμμ΅λλ€.
κ·Έ λ°©λ²μ 2κ°μ§κ° μμ΅λλ€.
- μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©ν WebGL
- β
CSS3λ₯Ό μ¬μ©ν 3μ°¨μ λ³ν
2μ°¨μ λ³ν
μΉ λΈλΌμ°μ λ₯Ό λ°λΌλ³΄λ μ μ μ μμ μ κΈ°μ€μΌλ‘ μ’ -> μ°
λ°©ν₯μ΄ XμΆ, μ -> μλ
λ°©ν₯μ΄ YμΆμ
λλ€.
λν, λͺ¨λν° -> μ μ
λ°©ν₯μΌλ‘ ZμΆμ μΆκ°νλ©΄ 3μ°¨μ λ³νμ ꡬνν μ μμ΅λλ€.(Z-indexλ₯Ό λ μ¬λ¦¬μλ©΄ λ©λλ€.)
div {
width: 100px;
height: 100px;
background: red;
transform: rotate(60deg) scale(1.2) skewY(10deg);
/* π
translate: νΉμ ν¬κΈ°λ§νΌ μ΄λ
scale: νΉμ ν¬κΈ°λ§νΌ νλ λ° μΆμ(λ°°μ¨)
skew: νΉμ κ°λλ§νΌ κΈ°μΈμ΄κΈ°
rotate: νΉμ κ°λλ§νΌ νμ
*/
/* π
transform-origin: λ³νμ μ€μ¬μ μ§μ ν©λλ€.
ex) transform-origin: 100% 100%;
XμΆκ³Ό YμΆμ λν΄ 100%μ΄λ―λ‘ κ°μ²΄μ κ°μ₯ μ€λ₯Έμͺ½ μλλ₯Ό κΈ°μ€μΌλ‘ ν©λλ€.
*/
}
ποΈ transformμ μ λ ₯νλ ν€μλ μμμ λ°λΌμ κ°μ ν€μλλ€μ μ μ΄λ λ€λ₯Έ κ²°κ³Όλ¬Όμ΄ λμ¬ μ μμ΅λλ€. μ¦, μμμ λ°λΌ λ€λ₯Έ λ³νμ΄ κ΅¬νλκΈ°λ ν©λλ€.
3μ°¨μ λ³ν
-
translate3d(
X
,Y
,Z
): νΉμ ν¬κΈ°λ§νΌ μ΄λν©λλ€. -
scale3d(
X
,Y
,Z
): νΉμ ν¬κΈ°λ§νΌ νλ λ° μΆμν©λλ€. -
rotate3d(
X
,Y
,Z
): νΉμ κ°λλ§νΌ νμ ν©λλ€. -
transform-style: λ³νμ μ μ©ν λ, κ·Έ μν₯μ΄ μμ μκ²λ§ μ μ©λ μ§ μμμκ²λ μ μ©λ μ§ μ ν©λλ€.
flat
: νμμ 3μ°¨μ μμ±μ 무μν©λλ€.preserve-3d
: νμμ 3μ°¨μ μμ±μ μ μ§ν©λλ€.
-
backface-visibility: 3μ°¨μ 곡κ°μμ νλ©΄μ 보μ΄κ±°λ 보μ΄μ§ μκ² λ§λλ μμ±μ λλ€.
visible
: νλ©΄μ 보μ΄κ² λ§λλλ€.hidden
: νλ©΄μ 보μ΄μ§ μκ² λ§λλλ€.(π λ§μΉ λ¬μ λ·λ©΄μ λ³Ό μ μλ―μ΄ π)
μκ·Όλ²
μ΄ λΆλΆμ κ°μΈμ μΌλ‘ 곡μλ¬Έμλ₯Ό νμΈνλ κ² λ°λ‘ μ΄ν΄λλ κ² κ°μ΅λλ€.
μ«μκ° μμμλ‘ μ μ κΈ°μ€ μ
μ μλ κ°μ²΄λ₯Ό λ ν¬κ² λ€
μ μλ κ°μ²΄λ₯Ό μκ² ννν©λλ€.