Search
Duplicate

๐ŸŒ•ย  [์Šคํ”„๋ง ๊ฒŒ์‹œํŒ] ํ‘ธํ„ฐ(footer) ํ•˜๋‹จ ๊ณ ์ •

@3/16/2023

ํ‘ธํ„ฐ(footer)

โ€ข
์‚ฌ์ดํŠธ ๋ฐ”๋‹ฅ์— ๋ถ™์€ ์ •๋ณด ์นด๋“œ๋ฅผ footer๋ผ๊ณ  ๋ถ€๋ฆ„
โ€ข
์‰ฌ์›Œ๋ณด์ด๋ฉด์„œ๋„ ์€๊ทผํžˆ ๊นŒ๋‹ค๋กœ์šด footer (์‚ฌ์‹ค ๋ชจ๋“  CSS๊ฐ€ ๋‹ค ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™๋‹ค)
โ—ฆ
์ธํ„ฐ๋„ท์— ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ •๋ณด๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ์ ์šฉ์ด ์ž˜ ์•ˆ ๋์Œ
โ—ฆ
์ด๋Ÿฐ์ €๋Ÿฐ ์กฐ์‚ฌ์™€ ์‹คํ—˜ ๋์— ์ ์šฉ์— ์„ฑ๊ณตํ•œ ์ผ€์ด์Šค๋ฅผ ๊ธฐ๋กํ•จ
โ€ข
footer์—๊ฒŒ ๊ธฐ๋Œ€ํ•˜๋Š” ์š”๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™์Œ
โ—ฆ
ํ•ญ์ƒ ๋ฐ”๋‹ฅ์— ๋ถ™์€ ์ƒํƒœ๋กœ ๋ณด์ž„
โ—ฆ
๋‹จ, ๋ณธ๋ฌธ์ด ๊ธธ์–ด์ง€๋ฉด ์•„๋ž˜๋กœ ๋ฐ€๋ ค๋‚˜๋ฉฐ ์Šคํฌ๋กค ์•ˆ์œผ๋กœ ์ˆจ์Œ
โ€ข
์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” footer์˜ ๋™์ž‘ ์˜ˆ์‹œ
๋˜๋Š”

๊ตฌํ˜„

<html> <head> <style> header, section, footer { border: 1px solid gray; /* ํ™•์ธ์šฉ */ } * { margin: 0; /* ํ•„์ˆ˜๋Š” ์•„๋‹˜ */ } body, html{ height: 100%; } header { height: 100px; /* header ๋†’์ด, ์ž„์˜ ์ง€์ • */ position: relative; z-index: 1; } section { box-sizing: border-box; min-height: 100vh; padding-top: 100px; /* header ๋ณด๊ธˆ์ž๋ฆฌ */ padding-bottom: 100px; /* footer ๋ณด๊ธˆ์ž๋ฆฌ */ transform: translateY(-100px); /* header ๋†’์ด ๋งŒํผ ์ด๋™ */ } footer { height: 100px; /* footer ๋†’์ด, ์ž„์˜ ์ง€์ • */ transform: translateY(-200px); /* section์ด ์˜ฌ๋ผ๊ฐ„ ๋†’์ด + ๋ณธ์ธ ๋†’์ด ๋งŒํผ ์ด๋™ */ } </head> <body> <header>header</header> <section>section</section> <footer>footer</footer> </body> </html>
HTML
๋ณต์‚ฌ
โ€ข
body, html
โ—ฆ
height: 100%: section๊ณผ footer๋ฅผ ์œ„์ชฝ์œผ๋กœ ์ด๋™(transform)์‹œํ‚จ ํ›„ ํ•˜๋‹จ์— ๊ณต๊ฐ„์ด ๋‚จ์ง€ ์•Š๋„๋ก ํ•จ
โ€ข
header
โ—ฆ
position: relative: z-index๋ฅผ ์ ์šฉ์‹œํ‚ค๊ธฐ ์œ„ํ•ด static position์„ ํ•ด์ œ
โ—ฆ
z-index: 1: transform์„ ํ†ตํ•ด ์˜ฌ๋ผ์˜จ section์˜ padding์ด header๋ฅผ ๋ฎ์–ด๋ฒ„๋ ค์„œ ๋ฒ„ํŠผ ํด๋ฆญ์ด ์•ˆ ๋˜๋Š” ํ˜„์ƒ์„ ํ•ด๊ฒฐ
โ€ข
section
โ—ฆ
box-sizing: border-box: padding์ด ๋†’์ด ๊ณ„์‚ฐ์— ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ํ•จ
โ—ฆ
min-height: 100vh: ์ตœ์†Œ ๋†’์ด๋ฅผ ์ง€์ •ํ•ด ๋ณธ๋ฌธ์ด ์ž‘๋”๋ผ๋„ footer๊ฐ€ ๋”ธ๋ ค์˜ฌ๋ผ์˜ค์ง€ ์•Š๋„๋ก ๋ง‰์Œ
โ–ช
vh๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ธฐ์ค€ ํผ์„ผํ‹ฐ์ง€๋กœ ๋†’์ด๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ
โ—ฆ
padding-top: 100px: header๊ฐ€ ๋“ค์–ด์˜ฌ ๋ณด๊ธˆ์ž๋ฆฌ๋ฅผ ๋งˆ๋ จํ•จ
โ—ฆ
padding-bottom: 100px: footer๊ฐ€ ๋“ค์–ด์˜ฌ ๋ณด๊ธˆ์ž๋ฆฌ๋ฅผ ๋งˆ๋ จํ•จ
โ—ฆ
transform: translateY(-100px): section์„ header ๋†’์ด๋งŒํผ ์ด๋™์‹œ์ผœ header๋ฅผ ํ’ˆ์Œ
โ€ข
footer
โ—ฆ
transform: translateY(-200px): footer๋ฅผ section์˜ ํŒจ๋”ฉ ์•ˆ์œผ๋กœ ์ด๋™์‹œํ‚ด

๊ฒฐ๊ณผ

โ€ข
๋ณธ๋ฌธ์ด ์ž‘์„ ๊ฒฝ์šฐ
โ—ฆ
์ฐฉํ•œ ํ‘ธํ„ฐ๋Š” ๋ฐ”๋‹ฅ์— ์ž˜ ๋ถ™์–ด ์žˆ๋‹ค
โ—ฆ
์•„๋ž˜์ฒ˜๋Ÿผ ํ™”๋ฉด์„ ์ค„์—ฌ๋„
โ—ฆ
์–Œ์ „ํžˆ ๋”ฐ๋ผ ์˜ฌ๋ผ์˜ค๋Š” ์ˆœ์ข…์ ์ธ ํ‘ธํ„ฐ
โ€ข
๋ณธ๋ฌธ์ด ํด ๊ฒฝ์šฐ
โ—ฆ
๋ณธ๋ฌธ์ด ๊ธธ์–ด์ง€์ž ์Šคํฌ๋กค ์ตœํ•˜๋‹จ์œผ๋กœ ์ž๋ฆฌ๋ฅผ ๋น„ํ‚จ ์˜ˆ์˜๋ฐ”๋ฅธ ํ‘ธํ„ฐ