VI. νΈλμ§μ κ³Ό μ λλ©μ΄μ - 1. λ³ν
transform κ³Ό λ³ν ν¨μ
CSSμμ λ³νμ μ μ©νλ €λ©΄ transform μμ±κ³Ό λ³ν ν¨μ μ΄λ¦μ ν¨κ» μμ±ν΄μΌ νλ€.
transform: ν¨μ
μΉ μμλ₯Ό μ΄λμν€λ λ³ν ν¨μλ translate()μΈλ°, μλ₯Ό λ€μ΄ μΉ μμλ₯Ό xμΆμΌλ‘ 50px, yμΆμΌλ‘ 100px μ΄λνλ ν΄λμ€ μ νμ .photoλ₯Ό μ μνλ €λ©΄ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
.photo {transform: translate(50px, 100px); }
2μ°¨μ λ³νκ³Ό 3μ°¨μ λ³ν
2μ°¨μ λ³νμ μΉ μμλ₯Ό νλ©΄μμ λ³ννλ€.
μλ₯Ό λ€μ΄ μνλ°©ν₯μΌλ‘ μ΄λνκ±°λ μμ§ λ°©ν₯μΌλ‘ μΈκ³‘νλ€.
μ΄λ κ² νλ©΄μμ λ³νν λλ 2μ°¨μ μ’νλ₯Ό μ¬μ©νλλ°,
xμΆμ μ€λ₯Έμͺ½μΌλ‘ κ° μλ‘ κ°μ΄ 컀μ§κ³
yμΆμ μλλ‘ λ΄λ €κ°μλ‘ κ°μ΄ 컀μ§λ€.
λ°λ©΄ 3μ°¨μ λ³νμ 2μ°¨μ μΆμ zμΆμ μΆκ°ν΄μ λ³ννλ€.
3μ°¨μ λ³νμμ zμΆμ μλ€λ‘ μ΄λνλ©°, 보λ μ¬λ μͺ½μΌλ‘ λ€κ°μ¬μλ‘ κ°μ΄ 컀μ§κ³ λ€λ‘ κ°μλ‘ κ°μ΄ μμμ§λ€.
2μ°¨μ λ³ν ν¨μ
2μ°¨μμμ μ¬μ©νλ λ³ν ν¨μμ μ’ λ₯λ λ€μκ³Ό κ°λ€.
μ’ λ₯ | μ€λͺ | |
translate(tx, ty) | μ§μ ν ν¬κΈ°λ§νΌ xμΆ, yμΆμΌλ‘ μ΄λνλ€. (μμλ 50px, 100px) |
![]() |
translateX(tx) | μ§μ ν ν¬κΈ°λ§νΌ xμΆμΌλ‘ μ΄λνλ€. | |
translateY(ty) | μ§μ ν ν¬κΈ°λ§νΌ yμΆμΌλ‘ μ΄λνλ€. | |
scale(sx,sy) | μ§μ ν λΉμ¨λ§νΌ xμΆκ³Ό yμΆμΌλ‘ νλ μΆμνλ€. (μμλ 1.5, 1.5 λλ 150%, 150%) νλ μΆμμ κΈ°μ€μ΄ μμμ μ€μ¬μμ μ°Έκ³ . |
![]() |
scaleX(sx) | μ§μ ν ν¬κΈ°λ§νΌ xμΆμΌλ‘ νλ μΆμνλ€. | |
scaleY(sy) | μ§μ ν ν¬κΈ°λ§νΌ yμΆμΌλ‘ νλ μΆμνλ€. | |
rotate(κ°λ) | μ§μ ν κ°λλ§νΌ νμ νλ€. (μμλ 20deg) |
![]() |
skew(ax, ay) | μ§μ ν κ°λλ§νΌ xμΆκ³Ό yμΆμΌλ‘ μ곑νλ€. (μμλ 20deg, 5deg) |
![]() |
skewX(ax) | μ§μ ν κ°λλ§νΌ xμΆμΌλ‘ μ곑νλ€ | |
skewY(ay) | μ§μ ν κ°λλ§νΌ yμΆμΌλ‘ μ곑νλ€. |
3μ°¨μ λ³ν ν¨μλ λ€μκ³Ό κ°λ€.
μ’ λ₯ | μ€λͺ |
translate3d(tx, ty, tz) | μ§μ ν ν¬κΈ°λ§νΌ μ΄λν©λλ€. |
translateZ(tz) | μ§μ ν ν¬κΈ°λ§νΌ zμΆμΌλ‘ μ΄λν©λλ€. |
scale3d(sx, sy, sz) | μ§μ ν λΉμ¨λ§νΌ νλ μΆμν©λλ€. |
scaleZ(sz) | μ§μ ν λΉμ¨λ§νΌ zμΆμΌλ‘ νλ μΆμν©λλ€. |
rotate(rx, ry, κ°λ) | μ§μ ν κ°λλ§νΌ νμ ν©λλ€. |
rotate3d(rx, ry, rz, κ°λ) | μ§μ ν κ°λλ§νΌ νμ ν©λλ€. |
rotateX(κ°λ) | μ§μ ν κ°λλ§νΌ xμΆμΌλ‘ νμ ν©λλ€. |
rotateY(κ°λ) | μ§μ ν κ°λλ§νΌ yμΆμΌλ‘ νμ ν©λλ€. |
rotateZ(κ°λ) | μ§μ ν κ°λλ§νΌ zμΆμΌλ‘ νμ ν©λλ€. |
perspective(κΈΈμ΄) | μ 체μ μΌλ‘ λ³΄μΌ μ μλλ‘ κΉμκ°μ μ§μ ν©λλ€. |
μΉ μμλ₯Ό μ΄λμν€λ translate() ν¨μ
translate() ν¨μλ xμΆμ΄λ yμΆ λλ μμͺ½ λ°©ν₯μΌλ‘ μ΄λν 거리λ₯Ό μ§μ νλ©΄ ν΄λΉ μμκ° μ§μ ν ν¬κΈ°λ§νΌ μ΄λνλ€.
translate() ν¨μμμ μ¬μ©νλ νμμ λ€μκ³Ό κ°λ€.
ν¨μ | λ³νλ΄μ© |
transform: translate(tx, ty) | x μΆμΌλ‘ txλ§νΌ, yμΆμΌλ‘ tyλ§νΌ μ΄λν©λλ€. txμ ty λκ°μ§ κ°μ μ¬μ©νμ§λ§ tyκ°μ΄ μ£Όμ΄μ§μ§ μμΌλ©΄ 0μΌλ‘ κ°μ£Όν©λλ€. |
transform: translate3d(tx, ty, tz) | xμΆμΌλ‘ txλ§νΌ, yμΆμΌλ‘ tyλ§νΌ, κ·Έλ¦¬κ³ zμΆ(μλ€)μΌλ‘ tzλ§νΌ μ΄λν©λλ€. |
transform: translateX(tx) | xμΆμΌλ‘ txλ§νΌ μ΄λν©λλ€. |
transform: translateY(ty) | yμΆμΌλ‘ tyλ§νΌ μ΄λν©λλ€. |
transform: translateZ(tz) | zμΆμΌλ‘ tzλ§νΌ μ΄λν©λλ€. |
λ€μμ translate() ν¨μλ₯Ό μ΄μ©ν΄ μ¬μ©μκ° λν μλ‘ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λμΌλ©΄ μ΄λνλ μμ μ λλ€,
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
.box {
width: 200px;
height: 200px;
background-color: blue;
margin: 100px;
}
#movex:hover {transform: translateX(80px);}
#movey:hover {transform: translateY(80px);}
#movez:hover {transform: translateZ(80px);}
</style>
</head>
<body>
<div class="box" id="movex"></div>
<div class="box" id="movey"></div>
<div class="box" id="movez"></div>
</body>
</html>
μμλ₯Ό νλ μΆμνλ scale() ν¨μ
scale() ν¨μλ μΉ μμλ₯Ό μ§μ ν ν¬κΈ°λ§νΌ νλνκ±°λ μΆμνλ€.
scale() ν¨μλ₯Ό μ¬μ©νλ νμμ λ€μκ³Ό κ°λ€.
κ΄νΈ μμ κ°μ΄ 1 λλ 100%λ³΄λ€ ν¬λ©΄ νλλκ³ κ·Έλ μ§ μμΌλ©΄ μΆμλλ€.
μ’ λ₯ | λ³νκ²°κ³Ό |
transform: scals(sx, sy) | xμΆμΌλ‘ sxλ°°, yμΆμΌλ‘ syλ°° νλν©λλ€.κ°μ΄ νλλΏμ΄λΌλ©΄ x, y μ κ°μ κ°μ μ μ©ν©λλ€. |
transform: scale3d(sx, sy, sz) | κ° μΆμΌλ‘ κ° κ°λ§νΌ νλν©λλ€. |
transform: scaleX(sx) | ... |
transform: scaleY(sy) | ... |
transform: scaleZ(sz) | ... |
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
.box {
width: 200px;
height: 200px;
background-color: blue;
margin: 100px;
}
#scalex:hover {transform: scaleX(2);}
#scaley:hover {transform: scaleY(2);}
#scalez:hover {transform: scaleZ(2);}
</style>
</head>
<body>
<div class="box" id="scalex"></div>
<div class="box" id="scaley"></div>
<div class="box" id="scalez"></div>
</body>
</html>
μμλ₯Ό νμ μν€λ rotate() ν¨μ
2μ°¨μ rotate()ν¨μ
μμλ₯Ό νμ μν€λ rotate() ν¨μλ 2μ°¨μ νμ κ³Ό 3μ°¨μ νμ μμ λͺ¨λ μ¬μ©ν μ μλ€.
rotate() ν¨μλ₯Ό 2μ°¨μμμ μ¬μ©ν λλ κ°λλ§ μ§μ νλ©΄ λλ€.
ν¨μλ μΉ μμλ₯Ό μ§μ ν κ°λλ§νΌ νμ μν¨λ€.
transform: rotate(κ°λ)
rotate() ν¨μμμ μ§μ ν μ μλ κ°λμ κ°μ degreeλ radianμ μ¬μ©νλ€.
κ°μ΄ μμμ΄λ©΄ μκ³λ°©ν₯μΌλ‘, μμμ΄λ©΄ λ°μκ³λ°©ν₯μΌλ‘ νμ νλ€.
μμλ λ€μκ³Ό κ°λ€
#rotate1:hover {transform: rotate(20deg);}
#rotate2:hover {transform: rotate(1rad);}
3μ°¨μ rotate() ν¨μ
3μ°¨μ rotate() ν¨μλ λ€μκ³Ό κ°μ΄ xμΆ, yμΆ, zμΆμ κΈ°μ€μΌλ‘ νμ μν¨λ€.
transform: rotate(rx, ry, κ°λ)
transform: rotate3d(rx, ry, rz, κ°λ)
transform: rotateX(κ°λ)
transform: rotateY(κ°λ)
transform: rotateZ(κ°λ)
μ΄λ perspective μμ±μ ν¨κ» μ¬μ©ν΄μ μκ·Όκ°μ μΆκ°ν΄ μ£Όλ©΄ νμ ννλ₯Ό μ 체μ μΌλ‘ ννν μ μλ€.
perspective μμ±μ 3μ°¨μ λ³νμμ μ¬μ©νλλ°, κ΄μΈ‘μ μ λμ΄λ₯Ό μ€μ νμ¬ μκ·Όκ°μ νννλ€.
μ£Όμν μ μ perspective μμ±μ λ³ννλ μμκ° μλλΌ λ³ννλ μμμ λΆλͺ¨ μμμ μ μν΄μΌ νλ€λ κ²μ΄λ€.
rx, ry, rzλ νμ μ μΆμ΄λλ 벑ν°μ΄λ€.
μμλ₯Ό λΉνμ΄ μ곑νλ skew() ν¨μ
skew() ν¨μλ μ§μ ν κ°λλ§νΌ μμλ₯Ό λΉνμ΄ μ곑νλ€.
μ΄λ μμͺ½ λ°©ν₯μΌλ‘ λΉνκ±°λ νμͺ½ λ°©ν₯μΌλ‘λ§ λΉν μλ μλ€.
transform: skew(xκ°λ, yκ°λ)
transform: skewX(xκ°λ)
transform: skewY(yκ°λ)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
.boxborder{
width: 200px;
height: 200px;
border: solid;
padding: 0px;
margin: 60px
}
.box {
width: 200px;
height: 200px;
background-color: blue;
}
#skewx {transform: skewX(30deg);}
#skewy {transform: skewY(30deg);}
#skewxy {transform: skew(30deg, 30deg);}
</style>
</head>
<body>
<div class="boxborder"><div class="box" id="skewx"></div></div>
<div class="boxborder"><div class="box" id="skewy"></div></div>
<div class="boxborder"><div class="box" id="skewxy"></div></div>
</body>
</html>