๊ตญ๋น์ง์ D+45
Front-end ๋ฏธ๋ํ๋ก์ ํธ 2์ผ์ฐจ
- ๋ค๋น๊ฒ์ดํฐ ๋ ์ด์์ ์ค์ ๋ฐ section ํฌ๊ธฐ ์ค์ -
์ค๋ ํ ์ผ
- ๋ค๋น๊ฒ์ดํฐ ๋ ์ด์์ ์ค์
- section์์ญ์ ์งํฉ์ผ๋ก ๋ง๋ค์ด ํฌ๊ธฐ ์ค์
ํ์ผ ๊ตฌ์ฑ ๋ฐ ๋ด์ฉ
• style.css
- ์๋จ ๋ค๋น๊ฒ์ดํฐ์ ๋ํ ์คํ์ผ ์ฌ์ค์ ๋ฐ display๋ฅผ flex๋ก ์ค์ ํด ์ฃผ์๋ค.
- ๋ณธ๋ฌธ ์์ญ ์ฌ์ด์ฆ๋ฅผ ์์๋ก ์ค์ ํด ์ฃผ์๋ค.
.global-nav {
position: absolute;
width: 100%;
height: 44px;
left: 0;
top: 0;
}
.local-nav {
position: absolute;
width: 100%;
height: 52px;
left: 0;
top: 45px;
}
.global-nav-links {
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
max-width: 1000px;
margin: 0 auto;
}
.local-nav-links {
display: flex; /* display ๋ชจ๋๋ฅผ flex๋ก ์ค์ ํ๋ค. */
align-items: center; /* ๋ด๋ถ ์์ดํ
์ ์ธ๋ก ์ค์์ ๋ ฌ */
justify-content: right; /* ๋ด๋ถ ์์ดํ
์ ๊ฐ๋ก ์ฐ์ธก์ ๋ ฌ */
height: 100%;
max-width: 1000px;
margin: 0 auto;
border-bottom: 1px solid gray;
}
.local-nav-product-link {
font-size: 1.5rem; /* ํฐํธ๋ rem */
font-weight: bold;
margin-right: auto; /* ๊ฐ์ง์ ์๋ margin์ ์ต๋๊ฐ : auto */
}
/* Overview Compare Buy */
.local-nav-link {
margin-left: 2em; /* margin์ ์๋ํฌ๊ธฐ๋ก ์ค์ - ๊ฐ๊ฒฉ์ em */
}
.product-name h1 {
font-size: 7.5rem;
text-align: center;
}
.sticky-element {
display: none;
position: fixed;
}
.scroll-section {
border: 1px solid red;
}
• main.js
- ๋ณธ๋ฌธ section์ ๋ณด๋ค์ ์งํฉ ์ ๋ฆฌ ๋ฐ ์ฌ์ด์ฆ ์ค์ ๋ฐ ์์น๋ฅผ ์ค์ ํด ์ฃผ์๋ค.
(() => {
let yOffset = 0;
// section ์ ๋ณด ์งํฉ
const sectionSet = [
// section-0์ ์ ๋ณด๋ค - ๋์ด, ๋ฐฐ์, ์๋ฆฌ๋จผํธ์ ๋ณด
{
height : 0,
hMultiple : 5,
objs : {
container : document.querySelector('#section-0')
}
},
// section-1์ ์ ๋ณด๋ค
{
height : 0,
hMultiple : 5,
objs : {
container : document.querySelector('#section-1')
}
}
];
////////////////////////////////////////////////////////
// ์ผ๋ฐํจ์
// Element์ ํฌ๊ธฐ, ์์น๋ฑ์ ์ค์
const setLayout = function()
{
// section-0๊ณผ section-1์ ๋์ด๋ฅผ ์ค์ ํ๋ค.
for(let i = 0; i < sectionSet.length; i++)
{
sectionSet[i].height = window.innerHeight * sectionSet[i].hMultiple;
console.log('ํด๋ผ์ด์ธํธ ์ฐฝ ๋์ด : ' + window.innerHeight);
console.log(i + '๋ฒ์งธ ์น์
๋์ด : ' + sectionSet[i].height);
sectionSet[i].objs.container.style.height = `${sectionSet[0].height}px`;
}
}
////////////////////////////////////////////////////////
// ์ด๋ฒคํธ ํธ๋ค๋ฌ
// ์คํฌ๋กค์ system์ด๊ธฐ ๋๋ฌธ์ ์์ window์ ์ด๋ฒคํธ์ถ๊ฐ
window.addEventListener('scroll', () => {
yOffset = window.scrollY;
console.log(yOffset);
});
// load : ๋ชจ๋ ์์
์ด ๋๋ฌ๋ค.
window.addEventListener('load', () => {
// section-0ํ๊ณ section-1ํ๊ณ ์ ๋์ด๋ฅผ ์ค์ ํ๋ค.
setLayout();
})
})();
๊ฒฐ๊ณผํ๋ฉด
๋ฐ์ํ
'์๋ > ๊ตญ๋น์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+47] Front-end ๋ฏธ๋ํ๋ก์ ํธ 3์ผ์ฐจ : section ๋ ์ด์์ ์ค์ (0) | 2022.11.27 |
---|---|
[D+46] ์๊ตฌ์ฌํญ ํ์ธ (0) | 2022.11.24 |
[D+45] CSS : box-sizing, position, flex (0) | 2022.11.23 |
[D+44] Front-end ๋ฏธ๋ํ๋ก์ ํธ 1์ผ์ฐจ : ์นํฐํธ ์ค์ ๋ฐ ๋ค๋น๊ฒ์ดํฐ ์ค์ (0) | 2022.11.22 |
[D+44] javaScript Class (0) | 2022.11.22 |
๋๊ธ