230307(ํ)
๐ ์ฑ์ฅ์ผ์ง 3.1
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
๐ณ ํค์๋ (1.0)
์ต๋ํ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌ, ์ถํ์ ๋ณด๋ฉด์ ์ค์ค๋ก ์ค๋ช
๐ ๊ฒฝํ ์์ฃผ๋ก (2.0)
๋จ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ๋ณด๋ค ๋ฌด์์ ๋ฐฐ์ ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์งง๊ณ ๊ฐ๋จํ๊ฒ ์์ฑ
โ๏ธ ์ ํด์ง ํ ํ๋ฆฟ์ ๋ง์ถฐ์ (3.0)
ํค์๋, ๊ฒฝํ ๋ชจ๋ ์ข๋ค. ๋ค๋ง ๋งค์ผ ์์ฑํ๊ธฐ๋ก ๋ง์ ๋จน์๋งํผ ํต์ฌ๋ง ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌํ ์ ์๊ฒ ํ ํ๋ฆฟ์ ์์ฑ (3.1) 230102๋ถํฐ ์์๋๋ ํ์ต์ ๊ดํ ๋ด์ฉ ์ถ๊ฐ
๐ ์ค๋์ ํค์๋
css์์ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๊ธฐ
- ์๋์ ๊ฐ์ด
:root
์ ๋ณ์๋ฅผ ์ค์ ํด์ค๋ค. - ์ค์ ํ ๋ณ์๋ฅผ
var(๋ณ์๋ช )
ํํ๋ก ์ฌ์ฉํ๋ค.
/* Global */
:root {
/* Color */
--color-white: #ffffff;
--color-gray-100: #eff2f2;
--color-gray-200: #e5e9e9;
--color-gray-300: #dce0e0;
--color-gray-400: #d5d5d5;
--color-gray-500: #c1c1c1;
--color-gray-600: #878787;
--color-gray-700: #535353;
--color-gray-800: #2a3648;
--color-gray-900: #1b232f;
--color-black: #10141a;
--color-black-tr40: rgba(16, 20, 26, 0.4);
--color-yellow-100: #fed15f;
--color-yellow-200: #febe30;
--color-yellow-300: #de9408;
--color-orange-100: #fcb057;
--color-orange-200: #ff9900;
--color-purple: #941387;
--color-navy: #074099;
--color-green: #0c5e72;
/* Font size */
--font-large: 48px;
--font-medium: 28px;
--font-regular: 18px;
--font-small: 16px;
--font-micro: 14px;
}
div {
color: var(--color-orange-100);
}
box-sizing ์ค์
- ๊ธฐ๋ณธ์ ์ผ๋ก
content-box
๋ก ์ค์ ๋์ด์๋ค.- content-box: width, height๊ฐ padding ๋ด๋ถ์ content๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
- border-box: width, height๊ฐ content, padding, border๋ฅผ ํฌํจํ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ํ๋ค.
reset css
vs normalize css
- reset css: ๋ธ๋ผ์ฐ์ ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๋ด์ฅ ์คํ์ผ์ ๋ชจ๋ ์ด๊ธฐํ
- ์ต๊ทผ์๋ new css reset์ด ์์ฃผ ์ฌ์ฉ๋๋ค.
- normalize css: ๊ฐ๋ฅํ ๋ธ๋ผ์ฐ์ ๋ค์ ๋ด์ฅ ์คํ์ผ์ ๊ฑด๋๋ฆฌ์ง ์๋ ์ ์์ ๋ธ๋ผ์ฐ์ ๋ค ๊ฐ์ ์ฐจ์ด์ ์ ํต์ผ
- ๊ฐ์
h1
ํ๊ทธ๋ผ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ฌ๋ฐฑ์ ํฌ๊ธฐ๊ฐ ์กฐ๊ธ์ฉ ๋ค๋ฅผ ์ ์๋ค. ์ด๋ฐ ๋ถ๋ถ์ ๋์ผํ๊ฒ ํต์ผํด์ค๋ค.
- ๊ฐ์
css ์์(inheritance)๊ณผ ์ ์ฉ ์ฐ์ ์์(cascading)
- ์์: ์์(๋ถ๋ชจ) ํ๊ทธ์ ์ ์ฉ๋ ์คํ์ผ์ด ํ์(์์) ํ๊ทธ์๋ ์์๋์ด ์ ์ฉ๋๋ ๊ฒ
- ๋ช๋ช ์์์ด ์๋๋ ์คํ์ผ์ด ์๋๋ฐ, ์ฃผ๋ก box-model๊ณผ ๊ด๋ จ๋ ์คํ์ผ์ด๋ค. ex) padding
- ์ ์ฉ ์ฐ์ ์์: css๋ ์ด๋ป๊ฒ ์คํ์ผ์ ์ ์ฉํ๋๋์ ๋ฐ๋ผ ๊ทธ ์ฐ์ ์์๊ฐ ๋ค๋ฅด๋ค.
- ์ฐ์ ์์๋ก๋
์ฌ์ฉ์ ์ค์
-inline style
-internal stylesheet
-external stylesheet
-browser default
๋ก ์ ์ ๋ฎ์์ง๋ค. - ๋ํ, css์
specificity
์ ๋ฐ๋ผclass
๋ณด๋คid
๊ฐ ์คํ์ผ์ ๋ํ ์ฐ์ ์์๋ฅผ ๊ฐ๋๋ค.(๋์ฑ ์์ธํ ์ ํ์์ผ์๋ก ์ฐ์ ์์๋ฅผ ๊ฐ๋๋ค.) - (์ฃผ์) css์ ์์๊ณผ ์บ์ค์ผ์ด๋ฉ์ ์๋ฐํ ๋ค๋ฅธ ๊ฐ๋ !!!
- ์ฐ์ ์์๋ก๋
display: flex
์์ flex-grow
์์ฑ์ด๋?
- display๊ฐ flex๋ก ์ค์ ๋ ํ๊ทธ์ ์์ ํ๊ทธ๋ค์ ์ฌ์ฉํ๋ฉฐ, ๊ฐ ์์ ํ๊ทธ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก
flex-grow: 0;
์ด๋ค. - ๋ ๋์ ์ซ์๋ฅผ ์ค์ ํ๊ฒ ๋ ๋ค๋ฅธ ํ๊ทธ๋ค๊ณผ์ ์ฌ์ด์์ ํด๋น ์ซ์์ ํฌ๊ธฐ ๋น์จ์ ๊ฐ๋๋ค.
css ์๋ ๋จ์ 2๋์ฅ: em
vs rem
- em: ์์นํ ๊ณณ์ ๊ธฐ์ค์ผ๋ก font-size์ ๋ํ ๋ฐฐ์จ(ํด๋น ์์์ font-size ์์ผ๋ฉด ๋ถ๋ชจ ์์, ์์ผ๋ฉด ๋ ๋ถ๋ชจ ์์)
- rem: ์์นํ ๊ณณ๊ณผ ์๊ด์์ด ๊ฐ์ฅ ์ต์์ ์์(root; html ํ๊ทธ)์ font-size์ ๋ํ ๋ฐฐ์จ
- (์ฃผ์) em์ ๋๋ฌด ์๋์ ์ธ ๋๋์ด๊ณ rem์ ๊ทธ๋๋ง ์ ๋์ ์ธ root๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ธฐ์, rem ์ฌ์ฉ์ ์ข๋ ์ถ์ฒํ๋ค.
์ฐธ๊ณ
- Box-model: content-box vs border-box
- reset css๊ณผ normalize css
- css ์์(inheritance)๊ณผ ์ ์ฉ ์ฐ์ ์์(cascading)
- css em๊ณผ rem
๐ ์์ฝ ๋ฐ ํ๋ฃจ ๊ฐ๋จ ํ๊ณ
์ค๋๋ง์ html, css๋ฅผ ํ๋ ค๋ ์๊ฐ๋ณด๋ค ์ฝ์ง๊ฐ ์๋ค.ใ ใ ๊ทธ๋๋ ์ข์ ์ ์ ๊ทธ๋์ ๊ณต๋ถํ ๊ฒ๋ค ๋๋ถ์ ๋ณด์ด๋ ๊ฒ ๋ง์ ๊ฒ..? ์ด์ ์ ๋จ์ํ๊ฒ html, css๋ฅผ ๊ตฌ์ฑํ ๊ฒ๊ณผ ๋ค๋ฅด๊ฒ ์ง๊ธ์ ์ข๋ ์๋ฏธ์๋ ๊ณ ๋ฏผ์ ํ๋ฉด์ ๊ตฌ์กฐ๋ฅผ ์งค ์ ์๊ฒ ๋ ๊ฒ ๊ฐ๋ค. ์ฝ์ง๋ ์์ง๋ง, ๋ณด๋ฉด ๋ณผ์๋ก html๊ณผ css ๋ง์ผ๋ก๋ ์ฐธ ๋งค๋ ฅ์ ์ธ ํ์ด์ง๋ฅผ ๋ง๋ค ์ ์๋ ๊ฒ ์ ๊ธฐํ๋ค.
์ค๋์ ์ํ ์
- ๋ด๊ฐ ๊ณํํ ๋ชฉํ์น๋งํผ ๊ณต๋ถํ ์
- ๊ณผ์ ์ธ์ ๊ณต๋ถ๋ ์งํํ ์
- ํด๊ทผ ํ์๋ ๋๋ฃ(Den)์ ํจ๊ป ์๋์์น ๋จน๊ณ ๊ณต๋ถํ ์
์ค๋์ ์์ฌ์ด ์
- ์ด์ฌํ ์ฌํ ๋ค๋ ์ค๋๋ผ ์ํ ๋์ ๋ฌด๋ฆโฆ ์ผ๋ฅธ ๋์๋ผ!!!