์ด๋ฒ์๋ ์ ์ฒด์ ์ธ CSS ๊ตฌ์กฐ๋ฅผ ์ ๋นํ๋ฉด์ UI ์ปดํฌ๋ํธ๋ค์ด ์๋ก ๊ฒน์น๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ํนํ WorldSelect์ BottomNav๊ฐ ๊ฒน์ณ ํด๋ฆญ์ด ์ด๋ ต๊ฑฐ๋ ์๋ฆฌ๋ ํ์์ด ๋ฐ์ํด, ํ๋ฉด ๋น์จ, ์์น ์ง์ , ๋์ ๋์ด ์ค์ ๊น์ง ํฌํจํ ๊ทผ๋ณธ์ ์ธ ๊ฐ์ ์์ ์ด ํ์ํ๋ค.
WorldSelect ์ปดํฌ๋ํธ๊ฐ BottomBanner์ ๊ฒน์ณ ์์ด์ฝ์ด ์๋ฆฌ๊ฑฐ๋ ํด๋ฆญ๋์ง ์๋ ํ์ ๋ฐ์
๋ชจ๋ฐ์ผ ํ๊ฒฝ์ ๊ณ ๋ คํ ๋ ์ด์์์ ๋ง๋ค๋ค ๋ณด๋ vh ๋จ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ฅผ ๋ฐฐ์นํ๋๋ฐ, ๊ณ ์ ๋ ์์ญ์ด ์์ด์ ์ปดํฌ๋ํธ ๊ฐ ์ถฉ๋์ด ์๊น
๊ฐ์ฅ ๋จผ์ TopNav๋ฅผ position: fixed๋ก ์ค์ ํด์ ํ์ด์ง ์ต์๋จ์ ํญ์ ๊ณ ์ ๋๋๋ก ๋ง๋ค์๋ค
๋ค๋ฅธ ์์์ ๊ฒน์น์ง ์๋๋ก z-index: 1000์ผ๋ก ์ฐ์ ์์ ๋ถ์ฌ
max-width: calc(100vh * 5 / 9)๋ก ๊ฐ๋กํญ์ ๋ชจ๋ฐ์ผ ํ๋ฉด ๋น์จ์ ๋ง๊ฒ ์ ํ
์ด ๋น์จ์ ์ผ๋ฐ์ ์ธ ์ค๋งํธํฐ์ 9:5 ํ๋ฉด ๋น์จ์ ๊ธฐ์ค์ผ๋ก ์ค์ ํ ๊ฐ์ด๋ฉฐ, ์ธ๋ก ๊ธฐ์ค ๋น์จ ๊ธฐ๋ฐ ๋ ์ด์์์ ์ค๊ณํ๋ ๋ฐ ๋งค์ฐ ํจ๊ณผ์ ์ด์๋ค
TopNav๊ฐ ๊ณ ์ ๋์๊ธฐ ๋๋ฌธ์, ์๋์ชฝ ์ปดํฌ๋ํธ๋ค์ด ๊ฒน์น์ง ์๋๋ก ๋ชจ๋ ์ฃผ์ ์์์ margin-top: 7.5vh๋ฅผ ๋ถ์ฌ
์ด ์์น๋ TopNav์ ๋์ด์ ๋์ผํ๊ฒ ๋ง์ถฐ์ ธ ์์ด์ ์์ฐ์ค๋ฌ์ด ๊ฐ๊ฒฉ ํ๋ณด
WorldSelect ์ปดํฌ๋ํธ๋ ์์ด์ฝ ๊ฐ์์ ๋ฐ๋ผ ํ ์ค, ๋ ์ค, ์ธ ์ค๋ก ๋ฐ๋ ์ ์๋ ๊ตฌ์กฐ์ด๋ฏ๋ก ๊ณ ์ ๋ ๋์ด๋ ์ ํฉํ์ง ์์
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์์ด์ฝ ๊ฐ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋์ด๋ฅผ ๊ณ์ฐํ๋ ํจ์๋ฅผ ์์ฑ:
const getWrapperHeight = () => {
const rows = Math.ceil(worlds.length / 5);
return `${Math.max(20, rows * 11)}vh`; // ์ต์ 20vh, ํ ์ค๋น 11vh์ฉ ๊ณ์ฐ
};
position: fixed๋ ๋ค๋ฅธ ์์์ ํ๋ฆ์์ ์์ ํ ๋ถ๋ฆฌ๋๊ธฐ ๋๋ฌธ์, ๊ณต๊ฐ์ margin/padding์ผ๋ก ์๋ ํ๋ณดํ์ง ์์ผ๋ฉด ๊ฒน์น๋ ํ์์ด ์๊ธธ ์ ์๋ค
max-width: calc(100vh * 5 / 9)์ฒ๋ผ ์ธ๋ก ๊ธฐ๋ฐ ๋น์จ์ ์ค์ฌ์ผ๋ก ์ ์ฒด ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ๋ฐฉ์์ ๋ฐ์คํฌํ์์๋ ๋ชจ๋ฐ์ผ UI๋ฅผ ์์ ์ ์ผ๋ก ๊ตฌํํ ์ ์๊ฒ ํด์ค๋ค
๊ณ ์ ๋ height๋ณด๋ค๋ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋์ด๋ฅผ ๊ณ์ฐํ๋ ๊ตฌ์กฐ๊ฐ ์ ์ฐํ๊ณ ๋ฐ์ํ ๋์์๋ ๊ฐํ๋ค
๋จ์ํ vh, px ๋จ์๋ฅผ ์ด๋ค๊ณ ํด์ ๋ชจ๋ฐ์ผ UI๊ฐ ๋ง๋ค์ด์ง๋ ๊ฒ ์๋๋ผ,
์ ์ฒด ์ปดํฌ๋ํธ์ ์ํธ์์ฉ์ ๊ณ ๋ คํ ๋ฐฐ์น ์ ๋ต์ด ํ์๋ผ๋ ์ ์ ํ์คํ ๊นจ๋ฌ์๋ค
์ด๋ฒ ์์ ์ ๋จ์ํ ์คํ์ผ๋ง ์ด์์ ๊ณผ์ ์๋ค. ๊ฒน์นจ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋ฉด ๋น์จ ๊ณ์ฐ, ์ปดํฌ๋ํธ ๊ฐ ์ฌ๋ฐฑ ์กฐ์ , ๋์ด ๊ณ์ฐ ํจ์ ๋ฑ ๋ค์ํ ์์๊ฐ ๋ง๋ฌผ๋ ค์ผ ํ๋ค.
์์ผ๋ก๋ ๊ณ ์ ์์น ์์๋ฅผ ์ค๊ณํ ๋ ํญ์ ๊ณต๊ฐ ํ๋ณด ์ฌ๋ถ๋ฅผ ๊ฒํ ํด์ผ ํ๊ณ
๋ชจ๋ฐ์ผ ๋์ UI๋ฅผ ๋ง๋ค ๋ ๋จ์ํ width: 100px ๊ฐ์ ํ๋์ฝ๋ฉ๋ณด๋ค ๋น์จ ๊ธฐ๋ฐ ๋ ์ด์์์ด ํจ์ฌ ์ ์ฐํ๋ค๋ ๊ฑธ ์ฒด๊ฐํ๋ค
CSS ๊ตฌ์กฐ ๋ฌธ์ ๋ ๊ฒ๋ณด๊ธฐ์ ๋จ์ํด ๋ณด์ฌ๋, ํ๋ฉด ์ ์ฒด์ ์ํธ์์ฉ์ ์์ฐ๋ฅด๋ ์ค๊ณ ๊ด์ ์ผ๋ก ์ ๊ทผํด์ผ ํ๋ค๋ ๊ฑธ ์ด๋ฒ์ ์ ๋๋ก ๋ฐฐ์ ๋ค.