6. Global Style & Theme
keyword
Reset CSS
box-sizing
์์ฑword-break
์์ฑTheme
ThemeProvider
1. Reset CSS ๋งํฌ
๊ฐ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ํดํธ๋ก ์ ๊ณตํ๋ ์คํ์ผ์ ์ด๊ธฐํํ ์ ์๋ค. (์๋ฅผ ๋ค์ด, li์ ๋ถ๋ ํฌ์ธํธ์ body์ margin)
2. box-sizing
์์ฑ
box-sizing
์์ฑ๋ฐ์ค ๋ชจ๋ธ(box model)
๋ชจ๋ HTML ์์๋ ๋ฐ์ค ๋ชจ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๊ฒ์ ๋ฐ์ค ๋ชจ๋ธ(box model)์ด๋ผ ๋ถ๋ฅธ๋ค.
๋ฐ์ค ๋ชจ๋ธ์ ๊ตฌ์ฑ ์์
์ปจํ ์ธ ์์ญ (Content Area)
ํจ๋ฉ (์์ชฝ ์ฌ๋ฐฑ, Padding)
ํ ๋๋ฆฌ (ํ ๋๋ฆฌ ์ฌ๋ฐฑ, Border)
๋ง์ง (๋ฐ๊นฅ ์ฌ๋ฐฑ, Margin)
box-sizing: border-box ์์ฑ ์ฌ์ฉ์ border, padding์ ๊ณ ๋ คํด ๋ฐ์ค ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ค. width: 200px ์ผ ๊ฒฝ์ฐ, border์ padding์ด ๊ฐ๊ฐ 10px์ ์ฐจ์งํ๋ค๋ฉด ์ปจํ ์ธ ํฌ๊ธฐ๋ 160px
3. word-break
์์ฑ
word-break
์์ฑword-break
์์ฑ์ ํ
์คํธ๊ฐ ์ปจํ
์ธ ์์ญ ๋ฐ์ผ๋ก ์ค๋ฒํ๋ก ํ ๋ ์ค์ ๋ฐ๊ฟ์ง ๊ฒฐ์ ํ๋ค.
keep-all: ํ์ค์ผ ํ ์คํธ๋ ๋จ์ด ๋จ์๋ก ์ค๋ฐ๊ฟ์ ์ ์ฉํ๋ค.
break-all: ๋ฌธ์ ๋จ์๋ก ์ค๋ฐ๊ฟ์ ์ ์ฉํ๋ค.
4. Theme
๋์์ธ ์์คํ ์ ๊ท์น์ ์ ์ํ๋๋ฐ ์ฌ์ฉ
๋ค์ํ ์ํฉ์ ๋ํ(ex. dark mode) ํ์ฉ์ด ๊ฐ๋ฅํ๋ค.
'์๋ฏธ' ๋จ์๋ก ์คํ์ผ์ ์ ์ํ๋ค.
const defaultTheme = {
colors: {
background: '#FFF',
text: '#000',
primary: '#F00',
secondary: '#00F',
},
};
export default defaultTheme;
5. ThemeProvider
<ThemeProvider>
๋ํผ ์ปดํฌ๋ํธ๋ Context API๋ฅผ ํตํด ์๋์ ์๋ ๋ชจ๋ React ์ปดํฌ๋ํธ์ ํ
๋ง๋ฅผ ์ ๊ณตํ๋ค.
Last updated