๋ณ๊ฒฝ๊ณผ ํ์ฅ์ ๊ฐํ๊ณ ์์ ์ ์ธ CSS ๊ตฌ์กฐ๋ฅผ ์ํ ๊ธฐ๋ฒ

๋ค์ํ ์์ ๋ก ๋ฐฐ์ฐ๋ CSS ์ค๊ณ ์ค์ ๊ฐ์ด๋์์ ์๊ฐํ๋ ์ค๊ณ์ ํต์ฌ์ ์์๋ณด์.
CSS์ ์ฌ๋ฌ ์ค๊ณ ๊ธฐ๋ฒ๋ค๋ ๊ฒฐ๊ตญ์๋ ๋ค์ ์ฌ๋ ๊ฐ์ง ๋ฆฌ์คํธ์ ์ํ๋ค๊ณ ํ๋ ํต์ฌ์ ๊ดํตํ๋ ํฌ์ธํธ๋ผ๊ณ ๋ณผ ์ ์๋ค.
1. ํน์ฑ์ ๋ฐ๋ฅธ CSS ๋ถ๋ฅ
2. ๋์จํ ์คํ์ผ์ ๊ฒฐํฉ
3. ์ ๋นํ ์ํฅ ๋ฒ์
4. ํน์ ์ปจํ
์คํธ์ ๋ํ ์ ์ ํ ์์กด๋
5. ์ ์ ํ ๋ช
์๋(specificity)
6. ์ํฅ ๋ฒ์๊ฐ ์ ์ถ ๊ฐ๋ฅํ ํด๋์ค ๋ค์
7. ํํ, ๊ธฐ๋ฅ, ์ญํ ์ ์ ์ถ๊ฐ ๊ฐ๋ฅํ ํด๋์ค ๋ค์
8. ํ์ฅ ์ฉ์ด์ฑ
1. ํน์ฑ์ ๋ฐ๋ฅธ CSS ๋ถ๋ฅ
์ฒซ ๋ฒ์งธ๋ CSS ์ญํ ์ด๋ ํน์ฑ์ ๋ฐ๋ผ ๋ถ๋ฅํ๋ ๊ฒ์ด๋ค.
๋ฒ ์ด์ค ๊ทธ๋ฃน : ์ฌ์ดํธ์์ ๋ฒ ์ด์ค๊ฐ ๋๊ฑฐ๋ ๊ณตํต์ผ๋ก ์ ์ฉ๋๋ ์ฌํญ ๋ฑ
๋ ์ด์์ ๊ทธ๋ฃน : ํค๋(header), ํธํฐ(footer), ์ฝํ
์ธ (content) ์์ญ ๋ฑ
๋ชจ๋ ๊ทธ๋ฃน : ์ฌ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฑ
๋ชจ๋ ์์ฒด์๋ ๋ ์ด์์๊ณผ ๊ด๋ จ๋ ๋ถ๋ถ์ ์ค์ ํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ๋ชจ๋์ ์์ ์ ๋ ์ด์์์๋ ๊ด์ฌํ์ง ์๊ณ ํด๋น ๋ชจ๋ ์์ฒด์ ์ญํ ๋ฐ ์๋ ์์์ ์คํ์ผ๋ง์๋ง ๊ด์ฌ์ ๊ฐ์ ธ์ผ ํ๋ค. ์ฌ๊ธฐ์ ๋ ์ด์์๊ณผ ๊ด๋ จ๋ ๋ถ๋ถ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
-position, z-index, top/right/bottom/left, float, width, margin
/* ๋ฒ ์ด์ค */ body { font-family: 'Noto Sans'; } /* ๋ ์ด์์ */ layout_content { width: 1000px; padding: 10px; margin: 0 auto; } /* ๋ชจ๋ */ .bl_media { display: flex; justify-items: center; align-items: center; } .bl_media_title { margin: 5px; font-weight: bold; }
2. ๋์จํ ์คํ์ผ์ ๊ฒฐํฉ
์ ํํ๋ HTML๊ณผ ์คํ์ผ๋ง์ ๋์จํ ๊ฒฐํฉ์ด๋ค. ๋์จํ ๊ฒฐํฉ์ด๋ ์์กดํ์ง ์๋ ์ํ๋ฅผ ์ด์ผ๊ธฐํ๋๋ฐ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก๋ ์์ํ ์ ๋ ํฐ๋ฅผ ํผํ๊ณ ํด๋์ค ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
p{}, div{}, h1{}๊ณผ ๊ฐ์ด ์์์ ์คํ์ผ์ ์ง์ ์ ์ํ๋ ์์ํ ์ ๋ ํฐ๋ ์์์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๊ฒ ๋๋ฉด ์คํ์ผ์ด ์ค๋ณต๋๊ฑฐ๋ ๋๋ฝ๋ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ฏ๋ก ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ์ ์ํ๋ ๊ฒ์ด ์ข๋ค.
3. ์ ๋นํ ์ํฅ ๋ฒ์
์ํฅ ๋ฒ์๋ฅผ ๊ฐ๋ฅํ ์ข๊ฒ ํ๊ฑฐ๋ ์ํฅ ๋ฒ์๊ฐ ๋์ CSS์ ์คํ์ผ์ ์ต์ํํ๋ค.
์ํฅ ๋ฒ์๋ฅผ ๊ณ ๋ คํ์ง ์์ ์ฑ ์คํ์ผ์ ์ถ๊ฐํ๋ค๋ณด๋ฉด ์๋ํ์ง ์์ ๋ถ๋ถ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฏ๋ก ์ต๋ํ ๋ฒ์๋ฅผ ์ค์ด๊ธฐ ์ํด ๊ฐ์ฅ ๊ฐ๊น์ด ๋ถ๋ชจ ์์๋ฅผ ํฌํจ์ํค๊ฑฐ๋ ์์์ ์๋ ์ ๋ ํฐ์ ์ฌ์ฉ๋ ํจ๊ป ๊ฒํ ํ๋ ๊ฒ์ด ์ข๋ค.
4. ํน์ ์ปจํ ์คํธ์ ๋ํ ์ ์ ํ ์์กด๋
์ปจํ ์คํธ๋ ์์น ๋๋ ์ํฉ์ ์๋ฏธํ๋ฉฐ, ์ด ์ปจํ ์คํธ๊ฐ ๋ณํ ๋ ์ฝ๋๊ฐ ๋์ํ์ง ์์ ์ ์๋ ์ํฉ์ ์ฃผ์ํด์ผ ํ๋ค. ์ฌ์ฉ ๋ชฉ์ ์ด ๋ช ํํ๋ค๋ฉด ๋ฌธ์ ์์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ์ ๋ ํฐ๋ฅผ ๋ถํ์ํ ๋ถ๋ถ๊น์ง ๊ตฌ์ฒดํํ๊ฒ ๋๋ฉด ํด๋น ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค.
/* id์ธ main์ ์ง์ ํ๊ฒ ๋๋ฉด ํด๋น ๋ชจ๋ ๋ด๋ถ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ .title_top ํด๋์ค๊ฐ ๋์ด ์์กด๋๊ฐ ๋์์ง. -> ๋ถํ์ํ #main ์ ๊ฑฐ */ #main .title_top{ display:flex; align-items: center; color: green; }
5. ์ ์ ํ ๋ช ์๋(specificy)
์ฐ์ ์์๋ฅผ ๋ํ๋ด๋ ๋ช ์๋์ ๊ด๋ จ๋ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ๋ฉด ํ์ธํ ์ ์๋ค.
๋ช ์๋๊ฐ ๋์ CSS์ ๋จ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
– ์
๋ ํฐ ์์ธก์ด ์ด๋ ค์
– ๋ค๋ฅธ ์์(๋ถ๋ชจ ์์ ๋ฑ)์ ๋ํ ์์กด๋ ์์น
– ๋ฎ์ด์ฐ๊ธฐ์ ์ด๋ ค์
– ์ ์ง ๋ณด์์ ์ด๋ ค์
๋น์ฐํ !important๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ๊ธฐ๋ณธ์ด๋ฉฐ, ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ ๋๋ ํด๋์ค ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ๋ค. id ์ ๋ ํฐ๋ ์ฐ์ ์์๊ฐ ๋งค์ฐ ๋์ผ๋ฉฐ ํ ํ์ด์ง ์์์ ๋์ผํ ๊ฐ์ ํ๋ฒ ๋ฐ์ ์ฌ์ฉํ์ง ๋ชปํ๋ ์ ์ฝ๋ ์์ผ๋ฏ๋ก id๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ๋ง์ง ์๋ค.
๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋์ค ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํด์ ์๋ํ์ง ์์ ์ฐ์ ์์๊ฐ ๋ค์์ด์ง ์๋๋ก ํด์ผ ํ๋ค.
6. ์ํฅ ๋ฒ์๊ฐ ์ ์ถ ๊ฐ๋ฅํ ํด๋์ค ๋ค์
๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ๋ชจ๋์ด๋ ํด๋์ค๋ ๋์ด๋๋ฏ๋ก ํ๋์ ํด๋์ค ์์ ์ด ์ด๋ค ๋ฒ์๊น์ง ์ํฅ์ ๋ฏธ์น ์ง๋ฅผ ์ด๋ฆ์์ ํ๋จํ ์ ์๋๋ก ํด์ผ ํ๋ค.
HTML์์ ์ ์๋ ์์์ ํด๋์ค ๋ค์๋ง ๋ณด๊ณ ๋ CSS์ ์ํฅ ๋ฒ์๋ฅผ ์ ์ถํ ์ ์๋๋ก ํ์.
ํด๋์ค ๋ค์์ผ๋ก ์ํฅ ๋ฒ์๋ฅผ ์ฝ๊ฒ ์ ์ถํ๊ธฐ ์ํด์๋ ์๋ ์์์ ๋ฃจํธ ์์์ ํด๋์ค ๋ค์์ ํฌํจํ๋๋ก ํ๋ ๊ฒ์ด ์ข๋ค.
7. ํํ, ๊ธฐ๋ฅ, ์ญํ ์ ์ ์ถ๊ฐ ๊ฐ๋ฅํ ํด๋์ค ๋ค์
์ํฅ ๋ฒ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ํํ, ๊ธฐ๋ฅ, ์ญํ ๋ ์ ์ถ๊ฐ ๊ฐ๋ฅํ๋๋ก ๋ค์์ ์ง์ ํด์ผ ํ๋ค.
– title1, title2, title3
– main-title, nav-title, sub-title
๋ ํญ๋ชฉ ์ค ํํ๋ ๊ธฐ๋ฅ, ์ญํ ์ ์ ์ถ๊ฐ ์ฌ์ด ์ชฝ์ด ์ด๋์ธ์ง๋ ๋ถ๋ช ํ๋ค. ๊ฐ ๋ชจ๋์ ๊ธฐ๋ฅ์ด๋ ์ญํ ์ ๋ง์ถฐ ์ด๋ฆ์ ๋ถ์ด๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค. ํนํ ์์ ๊ท๋ชจ์ ์ฝ๋๋ผ๋ฉด title1, title2์ ๊ฐ์ด ๋ค์์ ๋์ถฉ ์ง์ ํ๊ธฐ ์ฝ๋ค. ํ์ง๋ง ๊ท๋ชจ๋ ์ธ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ปค์ง์ง ๋ชจ๋ฅด๋ฏ๋ก ํญ์ ์ต๊ด์ ์ผ๋ก ์ด๋ฆ์์ ํํ, ๊ธฐ๋ฅ, ์ญํ ์ ์ ์ถํ ์ ์๊ณ ๊ตฌ์ฒด์ฑ๊ณผ ๋ฒ์ฉ์ฑ์ ๊ท ํ์ ๋ง์ถ๋๋ก ํ๋ ๋ ธ๋ ฅ์ด ํ์ํ๋ค.
8. ํ์ฅ ์ฉ์ด์ฑ
ํ์ฅ์ฑ์ด๋ ๊ฒฐ๊ตญ ๊ธฐ๋ฅ์ ์ถ๊ฐ๋ ์ ์ง์ ์ฐ๊ฒฐ๋๋ ๋ถ๋ถ์ผ๋ก, ํญ์ ๊ฐ๋ฅ์ฑ์ ์ด์ด๋์ด์ผ ํ๋ค.
ํ์ฅ์ด ์ฝ๋๋ก ํด๋์ค๋ฅผ ์ค๊ณํ๊ฑฐ๋ ์ถ๊ฐํ๋ ํด๋์ค์๋ ๊ธฐ๋ฅ, ์ญํ ์ ๋ฐ๋ผ ์ ์ ํ ์์ธ๋์ ์ํฅ ๋ฒ์๋ฅผ ๊ฐ๋๋ก ํ๋ค.
ํ์ฅ์ด ์ฌ์ด ํด๋์ค๋ ๋ฉํฐ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ํ๋์ ํด๋์ค์๋ ๋ณดํธ์ ์ธ ์์ฑ, ์ถ๊ฐ ํด๋์ค์๋ ํน์ ์์ฑ์ ์ถ๊ฐํ์ฌ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ํตํด ์ฌ๋ฌ ํด๋์ค๋ก ์คํ์ผ์ ์ง์ ํ๋ ๋ฐฉ์์ด๋ค.
์ด๋ฅผ ํตํด HTML์ ๋ณต์กํด์ง์ง๋ง CSS๋ ๋งค์ฐ ๊ฐ๋จํด์ง๋ ํธ๋ ์ด๋์คํ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ๋ฉํฐ ํด๋์ค์ ์ด์ ์ ๋ถ๊ท์นํ ์ํฉ์์๋ ํด๋์ค ํ๋๋ง์ผ๋ก ์ํ๋ ์์ ์ ์๋ฃํ ์ ์๋ ๊ฐ๊ฒฐํจ์ด๋ค.
๊ฒฐ๊ตญ ๋ชจ๋ ํญ๋ชฉ์ ๋ณ๊ฐ์ ์ฌํญ์ด ์๋๋ผ ๋ค ์ฐ๊ฒฐ๋์ด ์์์ ์ ์ ์๊ณ , ์์ ์์ ํ๋๊ฐ ํฐ ๋๋นํจ๊ณผ๋ฅผ ๋ถ๋ฌ์ฌ ์๋ ์๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํ๋ค.
๋งค๋ฒ ํ๋ํ๋ ์ฒดํฌํด๊ฐ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ๋ณด๋ค๋ ์์ฑ ๋ฐฉ์์ด ๊ณ ๋ฏผ๋๊ฑฐ๋ ์์จ์ฑ์ด ์ฃผ์ด์ก์ ๋, ํด๋น ๋ฆฌ์คํธ๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด์ ์์ฑํ๋ค๋ณด๋ฉด ์๊ฐ๋ณด๋ค๋ ๋ ๊ฒฌ๊ณ ํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์ ๊ฒ์ด๋ค.
์ฐธ๊ณ : ๋ค์ํ ์์ ๋ก ๋ฐฐ์ฐ๋ CSS ์ค๊ณ ์ค์ ๊ฐ์ด๋(2021, ์ ์ดํ)