Sticky ์คํ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ
์คํ์ ํ์ํ ์กฐ๊ฑด์ ํ๋์ฉ ์ถ๊ฐํด๊ฐ๋ฉด์ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ง๋ฅผ ๊ณ ๋ฏผํด๋ณด์.
css์ poistion: sticky; ๋ฅผ ์ด์ฉํ์.
์ฐ์ Sticky๋์ด์ผ ํ๋ Element๊ฐ ์ต์๋จ์ ์์นํด์๋ค๋ฉด ์ฝ๋ค. css๋ฅผ ์ด์ฉํ๋ฉด position: relative; ์ธ ๋ถ๋ชจ์ ์๋จ์ ํด๋น Element๊ฐ sticky๋๋ค.
<์ฃผ์์ฝ๋>
.sticky{
position: sticky;
top: 0;
}
https://codepen.io/bucketressi/pen/GROoeKE
sticky container๋ฅผ ๋ง๋ค์.
์ด๋ฒ์๋ sticky header(์ฒซ๋ฒ์งธ Sticky Element) ์๋์ sticky sub-header๊ฐ ์์นํด์ผ ํ๋ค๊ณ ์๊ฐํด๋ณด์.
์๋์ ๊ฐ์ด ๊ฐ๋จํ ๊ตฌํํ ์ ์๋ค. sticky ๋๋ container ํ๋๋ก ๊ฐ์ธ์ค ๋ค์ ํด๋น container์ ์ฐจ๋ก๋ก sticky๋์ด์ผ ํ๋ Element๋ค(sticky header, sticky sub-header)์ ๋ฃ์ผ๋ฉด ๋๋ค.
<์ฃผ์์ฝ๋>
<div class='sticky'>
<div>sticky header</div>
<div>sticky sub-header</div>
</div>
https://codepen.io/bucketressi/pen/abVNKZj
top : -height; ๋ฅผ ์ด์ฉํ์.
์ด์ sticky header๋ ํ์ด์ง ์ต์๋จ์ ์์นํ์ง๋ง, sticky sub-header๋ ํ์ด์ง ์ค๊ฐ์ ์์นํ๊ณ sub-header์ ๋๋ฌํ๋ฉด sticky header ์๋์ sticky๋์ด์ผ ํ๋ค.
<์ฃผ์ ์ฝ๋>
subHeader.style = `top:${headerHeight}px`;
https://codepen.io/bucketressi/pen/abVNKpa
Comment