CSS ์์ฑ ์ค fixed์ sticky ํ์ฉ์ ์ ๋ชปํ๋ ๊ฒ ๊ฐ์์, ๋ค์ ํ ๋ฒ ์ ๊ฒ์ฉ์ผ๋ก ๋ ๋ฉด์ ์ค๋น์ฉ์ผ๋ก ๊ธฐ๋ก์ ๋จ๊ฒจ๋ณด๋ ค๊ณ ํ๋ค. ์ฐ์ CSS์ position
property์๋ static
, relative
, absolute
, fixed
, sticky
๋ค์ฏ ์ข
๋ฅ๊ฐ ์๋ค.
CSS์ ๊ฐ ์์ฑ์ top, right, left, bottom
์ ์์ฑ์ ๊ฐ์ ๋ฃ์ด ์ต์ข
์ ์ผ๋ก ๋ฌธ์ ๋ด ์์๊ฐ ์๋๋๋ก ๋ฐฐ์น๋ ์ ์๋๋ก ๋์์ค๋ค. ๋จ, static์ ๊ฒฝ์ฐ์๋ ํด๋น ์์ฑ๋ค์ ๋ฌผ๋ก , z-index
๊ฐ์ ์์ฑ์ ๋์์ ๋ฐ์ ์ ์๋ค. ๋ฌธ์์ ์๋ ํ๋ฆ์ ์์ฐ์ค๋ฝ๊ฒ ์์น๋๊ธฐ ๋๋ฌธ์ด๋ค.
relative
ํด๋น ์์ฑ์ ๊ฐ์ง๋ ์์๋ ์๋์ ๋ฌธ์ ํ๋ฆ์ ๋ฐฐ์ ํ์ง ์์ง๋ง, ์๊ธฐ ์์ ์ ๊ธฐ์ค ์ผ์ top, bottom, right, left
๋ฑ์ ๊ฐ์ ๋ฐ๋ผ ์์น๋ฅผ ๋ฐฐ์นํ๋ค. ๋คํ์ธ ์ ์ ์ด๋ฐ ์คํ์
์ด ๋ค๋ฅธ ์์์ ๋ฐฉํด๋ฅผ ์ฃผ์ง ์์ ๊ฒฐ๊ณผ์ ์ผ๋ก ํด๋น ์์๊ฐ ๋ ์ด์์์์ ์ฐจ์งํ๋ ๊ณต๊ฐ์ static
๊ณผ ์ฐจ์ด๊ฐ ์๋ค.
absolute
์ด ์์ฑ์ ์ฌ์ฉํ๋ฉด์๋ถํฐ๋ ๋ฌธ์ ํ๋ฆ์์ ๋ฒ์ด๋ ์์๊ฐ ๋๋ค. ํ์ด์ง ๋ ์ด์์ ์์์ ํด๋น ์์์๊ฒ ์ค ๊ณต๊ฐ์ด ์์ด์ง๊ฒ ๋๋๋ฐ, ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ถ๋ชจ ์์์ ์์กดํด ์์น๊ฐ ๋ฐฐ์น๋๋ค๋ ์ ์ด ํน์ดํ๋ค. ์ด๋, static
์ด ์๋, ์์น๊ฐ ์ง์ ๋ ๋ถ๋ชจ ์์๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ๋ฉด ์์ ์ต์์ ๋ธ๋ก์ ์์กดํ๋ค.
relative
์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, absolute
์์ฑ์ ์์๊ฐ ์ง๋๋ margin
์ ๋ค๋ฅธ ์์์ margin
๊ณผ ์ถฉ๋์ด ๋ ๊ฑฑ์ ์ ํ์ง ์์๋ ๋๋ค. ๋ค๋ฅธ ์์์ ๋ฐฉํด๋ฅผ ํ์ง ์๊ณ ์์น๊ฐ ์ง์ ๋๋ค.
fixed
absolute
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌธ์ ํ๋ฆ์์ ๋ฐฐ์ ๋๋ฉฐ, ํ์ด์ง ๋ ์ด์์ ์์์๋ ํ ๋น๋ ๊ณต๊ฐ์ด ์๋ค. ๋์ , viewport ์์ ์ด๊ธฐ ์ปจํ
์ด๋ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๋๋ค. ๊ทธ๋์ ์คํฌ๋กค ์์๋ ์์๊ฐ ์ด๋๋์ง ์๋ ํน์ง์ด ์๋ค.
sticky
์ด ์์ฑ์ ์ฌ์ฉํ ์์๋ ๋ฌธ์ ํ๋ฆ์ ๋ฐ๋ฅธ๋ค. ๊ฐ๊น์ด ๋ถ๋ชจ ์์ ์ค ์คํฌ๋กค ๋์์ ๊ด์ฌํ๋ overflow
, hidden
, scroll
, auto
๋๋ overlay
์์ฑ์ด ์กด์ฌํ๋ ์์์ '๋ถ๋๋ค' ์ฆ, ํ์์๋ relative
์ฒ๋ผ ๋์ํ๋ค๊ฐ ์คํฌ๋กค ์ปจํ
์ด๋ ๋ฑ์์ ์คํฌ๋กค ์ก์
๋ฑ์ด ๋ฐ์ํ๋ฉด fixed
์์ฑ์ฒ๋ผ ํ๋ฉด์ ๊ณ ์ ์ด ๋๋ ๊ฒ์ด๋ค.
Web Accessibility Issue
MDN์ ์ค๋ช
์ ๋ฐ๋ฅด๋ฉด, ํด๋น ์์๋ฅผ ์ฌ์ฉํ ๋ ๊ณ ๋ คํ ๋งํ ์ฌํญ์ผ๋ก ํ๋ฉด ํ๋ ์ ํ
์คํธ๊ฐ ๋ฉ๋ฌ์ ์ปค์ง ๋, ๊ฐ์ ํ์ด์ง ์ absolute
๋ fixed
๋ก ์์น๊ฐ ์ง์ ๋ ์์๊ฐ ํด๋น ๋ด์ฉ์ ๊ฐ๋ฆฌ์ง ์๋๋ก ์ฃผ์ ํด์ผ ํ๋ค๊ณ ํ๋๋ฐ, ํ๋กํ
๋ฒํผ์ผ๋ก ๋์ด ์ ์๋ ฅ์์ฉ ์ค์ธ/์์ ๋ฒํผ์ด ํจ๊ป ํ๋๋๋ฉฐ ์ด๋ฌํ ํ์์ ์ผ์ผํจ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ์ผ์ ๋ฐฐ์จ ์ด์ ํ๋๊ฐ ๋์ง ์๋๋ก ํ๋ค๊ณ ํด๋, ํ
์คํธ๋ฅผ ๊ฐ๋ฆด ์ ์์ ๊ฒ ๊ฐ์์, ์๊ฐ์ด ๋๋ฉด ์์น ์กฐ์ ์ ํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
์คํฌ๋กค ์์์ ์ ๊ทผ์ฑ ๋ฌธ์ ์ ๊ด๋ จํด Fixed/Sticky Navigation Menu Blocks Text ์ด๋ผ๋ ์ํฐํด์ ์ฝ์ด๋ณด์๋ค. ์์ ์ธ๊ธํ ๋ฌธ์ ์ ์ฐ๊ดํด ์๊ฐํด๋ณด์๋ฉด,
- ํด๋น ํ์ด์ง๊ฐ
fixed
floating button(navigation menu)์ ์ฅ์ ์ ์ ์ด๋ฆฌ๊ณ ์๋์ง ํ์คํ ํด์ผ ํ๋ค. - ํด๋น ๋ฒํผ์ ๋ฌธ์ ์๋จ์ ์์น์์ผ ์๋์ ์ผ๋ก ์น ํ์ด์ง๋ฅผ ์ฝ์ด๋๊ฐ ๋ ๋ ๋ฐฉํด๋ฅผ ๋ฐ์ ์ ์๋๋ก ํ๋ค.
- ๋๋ ์ ์ ์๊ฒ ์ ํ๊ถ์ ์ฃผ์ด
fixed navigation
์ ๋ณด์ผ์ง ๋ง์ง๋ฅผ ์ ํ ์ ์๋๋ก ํ๋ค.
๋ฑ์ ์ฒดํฌ๋ฆฌ์คํธ๋ก ์ ๊ฒํด๋ณผ ์ ์๊ฒ ๋ค.
๋ํ fixed
๋ sticky
์ฌ์ฉ ์์ ํผํฌ๋จผ์ค ๋ฌธ์ ๊ฐ ์์ ์๋ ์๋๋ฐ, ์ธํฐ๋ํฐ๋ธ ์น ํ์ด์ง ํํ ๋ฆฌ์ผ์ ์๊ฐํ๋ฉด์๋ ํด๊ฒฐ๋ฒ ์ค ํ๋๋ก ์ ์๋์๋ will-change: transform
CSS ์์ฑ์ ์ถ๊ฐํด ์น ๋ธ๋ผ์ฐ์ ๋ก ํ์ฌ๊ธ ์ฑ๋ฅ ์์ ์ด์ ์ ์ทจํ๋๋ก ํ ์ ์๋ค๊ณ ํ๋ค.
'๐ฉโ๐ป > CSS3' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS3/tailwindCSS] background-image๋ฅผ ํตํด ์ปค์คํ ์ฒดํฌ ๋ฐ์ค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ (0) | 2022.02.25 |
---|---|
[CSS] writing-mode: vertical-rl, vertical-lr (0) | 2021.12.06 |
[CSS] ์์๋ฅผ fadeoutํ ๋ค์๋ ์ฌ์ ํ clickableํ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2021.03.06 |
[CSS] Attribute Selector (0) | 2021.03.06 |
[responsive-web] CSS grid-layout repeat() (auto-fill, auto-fit) (0) | 2021.01.07 |