๐ŸŽ„ ์„ฑ์žฅ์ผ์ง€ 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 ์‚ฌ์šฉ์„ ์ข€๋” ์ถ”์ฒœํ•œ๋‹ค.

์ฐธ๊ณ 

๐Ÿ“ ์š”์•ฝ ๋ฐ ํ•˜๋ฃจ ๊ฐ„๋‹จ ํšŒ๊ณ 

์˜ค๋žœ๋งŒ์— html, css๋ฅผ ํ•˜๋ ค๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ์ง€๊ฐ€ ์•Š๋‹ค.ใ… ใ…  ๊ทธ๋ž˜๋„ ์ข‹์€ ์ ์€ ๊ทธ๋™์•ˆ ๊ณต๋ถ€ํ•œ ๊ฒƒ๋“ค ๋•๋ถ„์— ๋ณด์ด๋Š” ๊ฒŒ ๋งŽ์€ ๊ฒƒ..? ์ด์ „์— ๋‹จ์ˆœํ•˜๊ฒŒ html, css๋ฅผ ๊ตฌ์„ฑํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ง€๊ธˆ์€ ์ข€๋” ์˜๋ฏธ์žˆ๋Š” ๊ณ ๋ฏผ์„ ํ•˜๋ฉด์„œ ๊ตฌ์กฐ๋ฅผ ์งค ์ˆ˜ ์žˆ๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์‰ฝ์ง€๋Š” ์•Š์ง€๋งŒ, ๋ณด๋ฉด ๋ณผ์ˆ˜๋ก html๊ณผ css ๋งŒ์œผ๋กœ๋„ ์ฐธ ๋งค๋ ฅ์ ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ์‹ ๊ธฐํ•˜๋‹ค.

์˜ค๋Š˜์˜ ์ž˜ํ•œ ์ 

  • ๋‚ด๊ฐ€ ๊ณ„ํšํ•œ ๋ชฉํ‘œ์น˜๋งŒํผ ๊ณต๋ถ€ํ•œ ์ 
  • ๊ณผ์ • ์™ธ์˜ ๊ณต๋ถ€๋„ ์ง„ํ–‰ํ•œ ์ 
  • ํ‡ด๊ทผ ํ›„์—๋„ ๋™๋ฃŒ(Den)์™€ ํ•จ๊ป˜ ์ƒŒ๋“œ์œ„์น˜ ๋จน๊ณ  ๊ณต๋ถ€ํ•œ ์ 

์˜ค๋Š˜์˜ ์•„์‰ฌ์šด ์ 

  • ์—ด์‹ฌํžˆ ์—ฌํ–‰ ๋‹ค๋…€์˜ค๋Š๋ผ ์•„ํ”ˆ ๋‚˜์˜ ๋ฌด๋ฆŽโ€ฆ ์–ผ๋ฅธ ๋‚˜์•„๋ผ!!!