9-1. CSS λ³€ν˜• (transform, translate(), scale(), rotate(), skew())

2021. 10. 15. 18:15ㆍHTML + CSS + JS

728x90

1. transform 

CSSμ—μ„œ λ³€ν˜•μ„ μ μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” transform 속성을 μ‚¬μš©ν•΄μ„œ ν•¨μˆ˜μ΄λ¦„κ³Ό ν•¨κ»˜ μž‘μ„±ν•΄μ•Όν•œλ‹€. 

transform : ν•¨μˆ˜ 

 

- 2차원 λ³€ν˜•κ³Ό 3차원 λ³€ν˜• 

2차원 λ³€ν˜•μ€ μ›Ή μš”μ†Œλ₯Ό ν‰λ©΄μ—μ„œ λ³€ν˜•ν•œλ‹€. (μˆ˜ν‰μœΌλ‘œ μ΄λ™ν•˜κ±°λ‚˜, 수직으둜 이동)

3차원 λ³€ν˜•μ€ xμΆ•κ³Ό y좕에 원근감을 μ£ΌλŠ” z좕을 μΆ”κ°€ν•΄μ„œ λ³€ν˜•ν•œλ‹€. 

3차원 λ³€ν˜•μ—μ„œ z좕은 μ•žλ’€λ‘œ μ΄λ™ν•˜κ³ , λ³΄λŠ” μ‚¬λžŒ μͺ½μœΌλ‘œ λ‹€κ°€μ˜¬μˆ˜λ‘ 값이 컀지고 λ’€λ‘œ 갈수둝 값이 μž‘μ•„μ§„λ‹€. 

 

2. translate() ν•¨μˆ˜ 

translate() ν•¨μˆ˜λŠ” μ›Ή μš”μ†Œλ₯Ό μ΄λ™μ‹œν‚€λŠ” ν•¨μˆ˜μ΄λ‹€. 

translate() ν•¨μˆ˜λŠ” xμΆ•μ΄λ‚˜ yμΆ• λ˜λŠ” μ–‘μͺ½ λ°©ν–₯으둜 이동할 거리λ₯Ό μ§€μ •ν•˜λ©΄ ν•΄λ‹Ή μš”μ†Œκ°€ μ§€μ •ν•œ 크기만큼 μ΄λ™ν•œλ‹€. 

 

transform : translate(tx, ty) 

transfrom : translate3d(tx, ty, tz)

transform : translateX(tx)

transform : translateY(ty)

transform : translateZ(tz)

xμΆ•μœΌλ‘œ 50px 이동

 

3. scale() ν•¨μˆ˜ 

scale() ν•¨μˆ˜λŠ” μ›Ή μš”μ†Œλ₯Ό μ§€μ •ν•œ 크기만큼 ν™•λŒ€ν•˜κ±°λ‚˜ μΆ•μ†Œν•œλ‹€. 

1보닀 크면 ν™•λŒ€, 1보닀 μž‘μœΌλ©΄ μΆ•μ†Œ 

 

transform : scale(sx, sy)

transform : scale3d(sx, sy, sz)

transform: sacleX(sx)

transform: scaleY(sy)

transfrom: sacleZ(sz)

0.7λ°° μΆ•μ†Œ 

 

 

4. rotate() ν•¨μˆ˜ 

rotate() ν•¨μˆ˜λŠ” 2차원 νšŒμ „κ³Ό 3차원 νšŒμ „μ—μ„œ λͺ¨λ‘ μ‚¬μš©ν•  수 μžˆλ‹€. 

transform : rotate(각도)

μ΄λ•Œ κ°λ„μ˜ 값은 일반적인 각도degreeλ‚˜ λž˜λ””μ•ˆ radian을 μ‚¬μš©ν•œλ‹€. 

 

transform : rotate(rx, ry, 각도)

transform: rotate3d (rx, ry, rz, 각도)

transform: rotateX(각도)

transform: rotateY(각도)

trnasform: rotateZ(각도)

 

 

1️⃣ 2차원 νšŒμ „

였λ₯Έμͺ½μœΌλ‘œ 40도 νšŒμ „

2️⃣ 3차원 νšŒμ „ 

x,y,z μΆ•μœΌλ‘œ 55도 νšŒμ „

 

5. perspective 속성 

perspective 속성은 μž…μ²΄μ μœΌλ‘œ 보일 수 μžˆλ„λ‘ κΉŠμ΄κ°’μ„ μ§€μ •ν•œλ‹€. 

λ”°λΌμ„œ 이 속성을 rotate()ν•¨μˆ˜μ™€ ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ 원근감을 μΆ”κ°€ν•΄ νšŒμ „ ν˜•νƒœλ₯Ό μž…μ²΄μ μœΌλ‘œ 보일 수 μžˆλ‹€. 

perspective 속성은 λ˜ν•œ 3차원 λ³€ν˜•μ—μ„œ μ‚¬μš©ν•œλ‹€. 

μ›λž˜ 있던 μœ„μΉ˜μ—μ„œ μ‚¬μš©μžκ°€ μžˆλŠ” λ°©ν–₯μ΄λ‚˜ ν˜Ήμ€ λ°˜λŒ€ λ°©ν–₯μ‘λ‘œ μž‘μ•„ λ‹ΉκΈ°κ±°λ‚˜ λ°€μ–΄λ‚΄μ–΄ 원근감을 ν‘œμ‹œν•œλ‹€. 

 

perspective 원근감 μΆ”κ°€ 

 

6. skew() ν•¨μˆ˜ 

skew() ν•¨μˆ˜λŠ” μ§€μ •ν•œ κ°λ„λ§ŒνΌ μš”μ†Œλ₯Ό λΉ„ν‹€μ–΄ μ™œκ³‘ν•œλ‹€. 

 

transform : skew(x각도, y각도)

transform : skewX(x각도)

transform : skewY(y각도)

xμΆ• κΈ°μ€€ 30도 λΉ„ν‹€κΈ° 

skewX() ν•¨μˆ˜λŠ” 각도가 μ–‘μˆ˜λ©΄ μ™Όμͺ½μ΄ μ˜¬λΌκ°€κ³  였λ₯Έμͺ½μ΄ λ‚΄λ €κ°„λ‹€. 

skewY() ν•¨μˆ˜λŠ” 각도가 μ–‘μˆ˜λ©΄ 였λ₯Έμͺ½μ΄ μ˜¬λΌκ°€κ³  μ™Όμͺ½μ΄ λ‚΄λ €κ°„λ‹€. 

 

 

 

 

 

728x90