โถ ๋ณํ
ํน์ ์์์ ํฌ๊ธฐ๋ ํํ๊ฐ ๋ณํ๋ ๊ฒ. CSS3๋ฅผ ์ด์ฉํ๋ฉด ์คํ์ผ ์ํธ ์์ค๋ง์ผ๋ก ๊ฐ๋จํ ์ด๋ฏธ์ง๋ฅผ ๋ณํํ ์ ์๋ค.
โ
โ
โ
*2์ฐจ์ ๋ณํ๊ณผ 3์ฐจ์ ๋ณํ
'2์ฐจ์ ๋ณํ'์ ์น ์์๋ฅผ ๋ณํ์ํฌ ๋ ๋จ์ํ ์ํ์ด๋ ์์ง์ผ๋ก ์ด๋ํ๊ณ ํ์ ํ๋ ๊ฒ์ ๋งํ๋ค.
'3์ฐจ์ ๋ณํ'์ x์ถ๊ณผ y์ถ์ ์๊ทผ๊ฐ์ ์ฃผ๋ z์ถ์ ์ถ๊ฐํด ๋ณํ์ํค๋ ๊ฒ์ ๋งํ๋ค.
โ
โ
โ
*transform๊ณผ ๋ณํ ํจ์
์ด๋ฏธ์ง๋ฅผ ํ์ ์ํค๊ฑฐ๋ ์ด๋ํ๋ ๋ฑ ์น ์์๋ฅผ ๋ณํํ๋ ค๋ฉด transform ์์ฑ์ ์ฌ์ฉํด์ผ ํ๋๋ฐ transform: ๋ค์์ ๋ณํ ํจ์๋ฅผ ํจ๊ป ์ ๋ ฅํด ์ฌ์ฉํ๋ค.
์๋ฅผ ๋ค์ด .photo๋ผ๋ ํด๋์ค ์ ํ์๋ฅผ ๊ฐ์ง ์น ์์๋ฅผ x์ถ์ผ๋ก 50px, y์ถ์ผ๋ก 100px ์ด๋์ํค๋ ค๋ฉด ์น ์์๋ฅผ ์ด๋์ํค๋ ๋ณํ ํจ์ translate์ ์ฌ์ฉํด ๋ค์๊ณผ ๊ฐ์ด ์คํ์ผ์ ์ง์ ํ๋ค.
โ
.photo { transform: translate(50px, 100px); } |
โ
-2์ฐจ์ ๋ณํ ํจ์
๋ณํ ํจ์ |
์ค๋ช |
translate(tx, ty) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ๊ณผ y์ถ์ผ๋ก ์ด๋ํ๋ค. |
translateX(tx) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ์ผ๋ก ์ด๋ํ๋ค. |
translateY(ty) |
์ง์ ํ ํฌ๊ธฐ๋งํผ y์ถ์ผ๋ก ์ด๋ํ๋ค. |
scale(sx, sy) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ๊ณผ y์ถ์ผ๋ก ํ๋/์ถ์ํ๋ค. |
scaleX(sx) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ์ผ๋ก ํ๋/์ถ์ํ๋ค. |
scaleY(sy) |
์ง์ ํ ํฌ๊ธฐ๋งํผ y์ถ์ผ๋ก ํ๋/์ถ์ํ๋ค. |
rotate(๊ฐ๋) |
์ง์ ํ ๊ฐ๋๋งํผ ํ์ ํ๋ค. |
skew(ax, ay) |
์ง์ ํ ๊ฐ๋๋งํผ x์ถ๊ณผ y์ถ์ผ๋ก ์๊ณกํ๋ค. |
skewX(ax) |
์ง์ ํ ๊ฐ๋๋งํผ x์ถ์ผ๋ก ์๊ณกํ๋ค. |
skewY(ay) |
์ง์ ํ ๊ฐ๋๋งํผ y์ถ์ผ๋ก ์๊ณกํ๋ค. |
โ
-3์ฐจ์ ๋ณํ ํจ์
๋ณํ ํจ์ |
์ค๋ช |
matrix3d(n, [n]) |
4x4 ํ๋ ฌ์ ์ด์ฉํด ์ด๋๊ณผ ํ๋/์ถ์, ํ์ ๋ฑ์ ๋ณํ์ ์ง์ ํ๋ค. |
translate3d(tx, ty, tz) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ๊ณผ y์ถ, z์ถ์ผ๋ก ์ด๋ํ๋ค. |
translateZ(tz) |
์ง์ ํ ํฌ๊ธฐ๋งํผ z์ถ์ผ๋ก ์ด๋ํ๋ค. |
scale3d(sx, sy, sz) |
์ง์ ํ ํฌ๊ธฐ๋งํผ x์ถ๊ณผ y์ถ, z์ถ์ผ๋ก ํ๋/์ถ์ํ๋ค. |
scaleZ(sz) |
์ง์ ํ ํฌ๊ธฐ๋งํผ z์ถ์ผ๋ก ํ๋/์ถ์ํ๋ค. |
rotate3d(rx, ry, rz, ๊ฐ๋) |
์ง์ ํ ๊ฐ๋๋งํผ ํ์ ํ๋ค. |
rotateX(๊ฐ๋) |
์ง์ ํ ๊ฐ๋๋งํผ x์ถ์ผ๋ก ํ์ ํ๋ค. |
rotateY(๊ฐ๋) |
์ง์ ํ ๊ฐ๋๋งํผ y์ถ์ผ๋ก ํ์ ํ๋ค. |
rotateZ(๊ฐ๋) |
์ง์ ํ ๊ฐ๋๋งํผ z์ถ์ผ๋ก ํ์ ํ๋ค. |
perspective(๊ธธ์ด) |
์ ์ฒด์ ์ผ๋ก ๋ณด์ผ ์ ์๋ ๊น์ด ๊ฐ์ ์ง์ ํ๋ค. |
โ
โ
โ
*translate ๋ณํ ํจ์ - ์์ ์ด๋์ํค๊ธฐ
translate ๋ณํ ํจ์๋ 2์ฐจ์๊ณผ 3์ฐจ์์์ ๋ชจ๋ ๊ฐ๋ฅํ ๋ณํ ํจ์์ด๋ค. x์ถ ๋ฐฉํฅ์ด๋ y์ถ ๋ฐฉํฅ ๋๋ ์์ชฝ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ ๊ฑฐ๋ฆฌ๋ฅผ ์ง์ ํด ํด๋น ์์๋ฅผ ์ง์ ํ ํฌ๊ธฐ๋งํผ ์ด๋์ํจ๋ค.
โ
๊ธฐ๋ณธํ)
transform:translate(tx, ty) transform:translate3d(tx, ty, tx) transform:translateX(tx) transform:translateY(ty) transform:translateZ(tz) |
<style>
.movex:hover {
-webkit-transform: translateX(50px);
-ms-transform: translateX(50px);
-moz-transform: translateX(50px);
-o-transform: translateX(50px);
transform: translateX(50px);
}
.movey:hover {
-webkit-transform: translateY(20px);
-ms-transform: translateY(20px);
-moz-transform: translateY(20px);
-o-transform: translateY(20px);
transform: translateY(20px);
}
.movexy:hover {
-webkit-transform: translate(10px, 20px);
-ms-transform: translate(10px, 20px);
-moz-transform: translate(10px, 20px);
-o-transform: translate(10px, 20px);
transform: translate(10px, 20px);
}
</style>
<body>
<div class="origin">
<div class="movex"><img src="images/bus.jpg"></div>
</div>
<div class="origin">
<div class="movey"><img src="images/bus.jpg"></div>
</div>
<div class="origin">
<div class="movexy"><img src="images/bus.jpg"></div>
</div>
</body>
โ
โ
*scale ๋ณํ ํจ์ - ์์ ํ๋/์ถ์ํ๊ธฐ
scale ๋ณํ ํจ์๋ ์ง์ ํ ํฌ๊ธฐ๋งํผ ํ๋/์ถ์ํ๋ค. ์ฌ์ฉํ๋ ํจ์๋ scale(sx, sy)์ scaleX(sx), scaleY(sy), scale3d(sx, sy, sz), scaleZ(sz)์ธ๋ฐ ๊ดํธ ์์ ๊ฐ์ด 1๋ณด๋ค ํฌ๋ฉด ํ๋๋๊ณ 1๋ณด๋ค ์์ผ๋ฉด ์ถ์๋๋ค.
โ
๊ธฐ๋ณธํ)
transform:scale(sx, sy) transform:scale3d(sx, sy, sx) transform:scaleX(sx) transform:scaleY(sy) transform:scaleZ(sz) |
<style>
.scalex:hover {
-webkit-transform: scaleX(1.2);
-ms-transform: scaleX(1.2);
-moz-transform: scaleX(1.2);
-o-transform: scaleX(1.2);
transform: scaleX(1.2);
}
.scaley:hover {
-webkit-transform: scaleY(1.5);
-ms-transform: scaleY(1.5);
-moz-transform: scaleY(1.5);
-o-transform: scaleY(1.5);
transform: scaleY(1.5);
}
.scale:hover {
-webkit-transform: scale(0.7);
-ms-transform: scale(0.7);
-moz-transform: scale(0.7);
-o-transform: scale(0.7);
transform: scale(0.7);
}
</style>
</head>
<body>
<div class="origin">
<div class="scalex"><img src="images/fruit.jpg"></div>
</div>
<div class="origin">
<div class="scaley"><img src="images/fruit.jpg"></div>
</div>
<div class="origin">
<div class="scale"><img src="images/fruit.jpg"></div>
</div>
</body>
โ
โ
*rotate ๋ณํ ํจ์ - ์์ ํ์ ํ๊ธฐ
2์ฐจ์๊ณผ 3์ฐจ์ ๋ณํ ๋ชจ๋ ๊ฐ๋ฅํ rotate ๋ณํ ํจ์๋ ์ง์ ํ ๊ฐ๋๋งํผ ์น ์์๋ฅผ ์๊ณ ๋ฐฉํฅ์ด๋ ์๊ณ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ํ์ ์ํจ๋ค. rotate ๋ณํ ํจ์๋ 2์ฐจ์ ํจ์์ผ ๋์ 3์ฐจ์ ํจ์์ผ ๋์ ๊ธฐ๋ณธํ์ด ๋ค๋ฅด๋ค.
โ
-2์ฐจ์ ํจ์ ๊ธฐ๋ณธํ
๊ธฐ๋ณธํ)
transform:rotate(๊ฐ๋) |
-3์ฐจ์ ํจ์ ๊ธฐ๋ณธํ
๊ธฐ๋ณธํ)
transform:rotate(rx, ry, ๊ฐ๋) transform:rotate3d(rx, ry, rx, ๊ฐ๋) transform:rotateX(rx) transform:rotateY(ry) transform:rotateZ(rz) |
โ
<style>
.rotate1:hover {
-webkit-transform: rotate(20deg);
-ms-transform: rotate(20deg);
-moz-transform: rotate(20deg);
-o-transform: rotate(20deg);
transform: rotate(20deg);
}
.rotate2:hover {
-webkit-transform: rotate(-40deg);
-ms-transform: rotate(-40deg);
-moz-transform: rotate(-40deg);
-o-transform: rotate(-40deg);
transform: rotate(-40deg);
}
</style>
<body>
<div class="origin">
<div class="rotate1"><img src="images/fruit.jpg"></div>
</div>
<div class="origin">
<div class="rotate2"><img src="images/fruit.jpg"></div>
</div>
</body>
โ
โ
<style>
.origin {
perspective: 200px; /* 3์ฐจ์์์ ์
์ฒด์ ์ธ ๋๋์ ์ฃผ๊ธฐ ์ํด ํ๋ฉด์ ๊น์ด๊ฐ์ ์ค */
}
.rotatex {
-webkit-transform: rotateX(45deg);
-moz-transform: rotateX(45deg);
-o-transform: rotateX(45deg);
-ms-transform: rotateX(45deg);
transform: rotateX(45deg);
}
.rotatey {
-webkit-transform: rotateY(45deg);
-moz-transform: rotateY(45deg);
-o-transform: rotateY(45deg);
-ms-transform: rotateY(45deg);
transform: rotateY(45deg);
}
.rotatez {
-webkit-transform: rotateZ(45deg);
-moz-transform: rotateZ(45deg);
-o-transform: rotateZ(45deg);
-ms-transform: rotateZ(45deg);
transform: rotateZ(45deg);
}
.rotatexyz {
-webkit-transform: rotate3d(2.5, 1.2, -1.5, 45deg);
-moz-transform: rotate3d(2.5, 1.2, -1.5, 45deg);
-o-transform: rotate3d(2.5, 1.2, -1.5, 45deg);
-ms-transform: rotate3d(2.5, 1.2, -1.5, 45deg);
transform: rotate3d(2.5, 1.2, -1.5, 45deg);
}
</style>
<body>
<div class="origin">
<div class="rotatex"><img src="images/fruit.jpg" alt=""></div>
</div>
<div class="origin">
<div class="rotatey"><img src="images/fruit.jpg" alt=""></div>
</div>
<div class="origin">
<div class="rotatez"><img src="images/fruit.jpg" alt=""></div>
</div>
<div class="origin">
<div class="rotatexyz"><img src="images/fruit.jpg" alt=""></div>
</div>
</body>
โ
โ
*skew ๋ณํ ํจ์ - ์์๋ฅผ ๋นํ์ด ์๊ณกํ๊ธฐ
2์ฐจ์ ๋ณํ๋ง ๊ฐ๋ฅํ skew ๋ณํ ํจ์๋ ์์๋ฅผ ์ง์ ํ ๊ฐ๋๋งํผ ๋นํ์ด ์๊ณกํ๋ค. ์ด๋ ์์ชฝ ๋ฐฉํฅ์ด๋ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ๋นํ ์ ์๋ค.
โ
๊ธฐ๋ณธํ)
transform:skew(ax, ay) transform:skewX(ax) transform:skewY(ay) |
<style>
.skewx:hover {
-webkit-transform: skewX(30deg);
-ms-transform: skewX(30deg);
-moz-transform: skewX(30deg);
-o-transform: skewX(30deg);
transform: skewX(30deg);
}
.skewy:hover {
-webkit-transform: skewY(15deg);
-ms-transform: skewY(15deg);
-moz-transform: skewY(15deg);
-o-transform: skewY(15deg);
transform: skewY(15deg);
}
.skewxy:hover {
-webkit-transform: skew(-25deg, -15deg);
-ms-transform: skew(-25deg, -15deg);
-moz-transform: skew(-25deg, -15deg);
-o-transform: skew(-25deg, -15deg);
transform: skew(-25deg, -15deg);
}
</style>
</head>
<body>
<div class="origin">
<div class="skewx"><img src="images/rose.jpg"></div>
</div>
<div class="origin">
<div class="skewy"><img src="images/rose.jpg"></div>
</div>
<div class="origin">
<div class="skewxy"><img src="images/rose.jpg"></div>
</div>
</body>
'HTML5 & CSS3' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTML5 & CSS3] ํธ๋์ง์ (0) | 2021.02.14 |
---|---|
[HTML5 & CSS3] ๋ณํ๊ณผ ๊ด๋ จ๋ ์์ฑ๋ค (0) | 2021.02.14 |
[HTML5 & CSS3] ๊ฐ์ ํด๋์ค์ ๊ฐ์ ์์ (0) | 2021.02.14 |
[HTML5 & CSS3] ์์ฑ ์ ํ์ (0) | 2021.02.14 |
[HTML5 & CSS3] ์ฐ๊ฒฐ ์ ํ์ (0) | 2021.02.14 |
๋๊ธ