โ
14์ผ์ฐจ
Part 1. HTML/CSS/JS๋ก ๋ง๋๋ ์คํ๋ฒ ์ค ์น์ฌ์ดํธ
Ch 10. ์คํ๋ฒ ์ค ์์
Ch 10. ์คํ๋ฒ ์ค ์์
์ฃผ์
- ๊ณ ์ ์ด๋ฏธ์ง ๋ฐฐ๊ฒฝ
- 3D ์ ๋๋ฉ์ด์
- ์คํฌ๋กค ์์น ๊ณ์ฐ ์ ๋๋ฉ์ด์
- ๋ค์ค ์์ ์ฌ๋ผ์ด๋
- ํธํฐ
- ํ์ด์ง ์๋จ์ผ๋ก ์ด๋(ScrollTo)
์ฃผ์ ๋ด์ฉ
๐ HTML Entities (HTML ํน์๊ธฐํธ๋ค)
https://dev.w3.org/html5/html-author/charref
์๋ก ์๊ฒ ๋ ๋ด์ฉ
๐ ๋ค์ง๊ธฐ ์ ๋๋ฉ์ด์
backface-visibility: hidden;
<div class="container">
<div class="item front">์</div>
<div class="item back">๋ค</div>
</div>
body {
padding: 50px;
}
.container {
width: 100px;
height: 100px;
background-color: orange;
perspective: 300px;
}
.container .item {
width: 100px;
height: 100px;
border: 4px solid red;
box-sizing: border-box;
font-size: 60px;
backface-visibility: hidden;
transition: 1s;
}
.container .item.front {
position: absolute;
transform: rotateY(0deg);
}
.container:hover .item.front {
transform: rotateY(180deg);
}
.container .item.back {
transform: rotateY(-180deg);
}
.container:hover .item.back {
transform: rotateY(0deg);
}
๐ ScrollMagic JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์์๊ฐ ํ๋ฉด์ ๋ณด์ฌ์ง ์ฌ๋ถ์ ๋ฐ๋ฅธ ์์ ๊ด๋ฆฌ
https://cdnjs.com/libraries/ScrollMagic
//? ์์๊ฐ ํ๋ฉด์ ๋ณด์ฌ์ง ์ฌ๋ถ์ ๋ฐ๋ฅธ ์์ ๊ด๋ฆฌ
// ๊ด๋ฆฌํ ์์๋ค ๊ฒ์!
const spyEls = document.querySelectorAll("section.scroll-spy");
// ์์๋ค ๋ฐ๋ณต ์ฒ๋ฆฌ!
spyEls.forEach(function (spyEl) {
new ScrollMagic.Scene({
// ๊ฐ์ํ ์ฅ๋ฉด(Scene)์ ์ถ๊ฐ
triggerElement: spyEl, // ๋ณด์ฌ์ง ์ฌ๋ถ๋ฅผ ๊ฐ์ํ ์์๋ฅผ ์ง์
triggerHook: 0.8, // ํ๋ฉด์ 80% ์ง์ ์์ ๋ณด์ฌ์ง ์ฌ๋ถ ๊ฐ์
})
.setClassToggle(spyEl, "show") // ์์๊ฐ ํ๋ฉด์ ๋ณด์ด๋ฉด show ํด๋์ค ์ถ๊ฐ
.addTo(new ScrollMagic.Controller()); // ์ปจํธ๋กค๋ฌ์ ์ฅ๋ฉด์ ํ ๋น(ํ์!)
});
๐ GSAP JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ScrollToPlugin : ํ์ด์ง ์๋จ์ผ๋ก ์ด๋
https://cdnjs.com/libraries/gsap
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.9.1/ScrollToPlugin.min.js" integrity="sha512-agNfXmEo6F+qcj3WGryaRvl9X9wLMQORbTt5ACS9YVqzKDMzhRxY+xjgO45HCLm61OwHWR1Oblp4QSw/SGh9SA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
// ์๋จ์ผ๋ก ์คํฌ๋กค ๋ฒํผ์ ํด๋ฆญํ๋ฉด,
toTopEl.addEventListener("click", function () {
// ํ์ด์ง ์์น๋ฅผ ์ต์๋จ์ผ๋ก ๋ถ๋๋ฝ๊ฒ(0.7์ด ๋์) ์ด๋.
gsap.to(window, 0.7, {
scrollTo: 0,
});
});
- img ์์๊ฐ display: block; + margin: 0 auto; ์ธ ๊ฒฝ์ฐ, width ์์ฑ ์์ด๋ ๊ฐ์ด๋ฐ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
๋๋์
ํ ๋๋์ด ๊ธธ๊ณ ๊ธด 10์ฅ์ด ๋๋ฌ๋ค!๐คฃ ๋ฉฐ์น ๋์ ํ๋๋ผ ์ค๊ฐ์ ์ฐ์ผ๋ก ๊ฐ ๋ป ํ ์ ๋ ์์ง๋ง ๊ณํ๋๋ก ๋ค ๋๋ง์ณ์ ๋คํ์ด๋ค. ํด๋ก ์ฝ๋ฉ์ด ๋์์ด ์ ๋๋ค๋ ์๊ธฐ๋ฅผ ๋ง์ด ๋ค์๋๋ฐ ๋๋ ์ด๋์ ๋๋ ๊ณต๊ฐํ๋ค. ๋ฌผ๋ก ํผ์ ํ๋ก์ ํธ ๋ง๋ค์ด ๋ณด๋๊ฒ ์ค๋ ฅ ํฅ์์ ์ ์ผ ๋์ ๋๊ฒ ์ง๋ง ํด๋ก ์ฝ๋ฉ์ ํตํด ์ป๋ ๊ฒ๋ ๋ง๋ค. ์ ์ด ๋ถ๋ถ์ ์ด๋ฐ์์ผ๋ก ํ ์๋ ์๊ตฌ๋ ๋ ํธํ๋ค ๋ค์์ ์ด๋ ๊ฒ ํด๋ด์ผ์ง๋ผ๋ ์๊ฐ๋ ๋ง์ด ํ ์ ์์๋ค. ๋ฌด์๋ณด๋ค ์ด๋ฒ ๊ฐ์๋ฅผ ํตํด ์ป์ ๊ฐ์ฅ ํฐ ์ํ์ ๋ค์ํ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค. ๋ค์์ ํ๋ก์ ํธํ ๋ ๋นจ๋ฆฌ ์จ๋จน์ด๋ณด๊ณ ์ถ๋ค.๐๐
๋ณธ ํฌ์คํ ์ ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ์ฐธ์ฌ๋ฅผ ์ํด ์์ฑ๋์์ต๋๋ค.
#ํจ์คํธ์บ ํผ์ค
#ํจ์บ ์ฑ๋ฆฐ์ง
#์ง์ฅ์ธ์ธ๊ฐ
#์ง์ฅ์ธ์๊ธฐ๊ณ๋ฐ
#ํจ์คํธ์บ ํผ์คํ๊ธฐ
#ํ_๋ฒ์_๋๋ด๋_ํ๋ก ํธ์๋_๊ฐ๋ฐ_์ด๊ฒฉ์ฐจ_ํจํค์ง_Online
'๐ฌ > ใ ใ ใ ใ ใ ใ ์ฑ๋ฆฐ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 16์ผ์ฐจ (0) | 2022.02.08 |
---|---|
ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 15์ผ์ฐจ (0) | 2022.02.07 |
ํจ์คํธ ์บ ํผ์ค ์ฑ๋ฆฐ์ง 13์ผ์ฐจ (0) | 2022.02.05 |
ํจ์คํธ ์บ ํผ์ค ์ฑ๋ฆฐ์ง 12์ผ์ฐจ (0) | 2022.02.04 |
ํจ์คํธ ์บ ํผ์ค ์ฑ๋ฆฐ์ง 11์ผ์ฐจ (0) | 2022.02.03 |