[๐Ÿ’ป ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE 44๊ธฐ] ๋ถ€ํŠธ์บ ํ”„ - ๋ ˆ์ด์•„์›ƒ ์ •๋ ฌ, ๊ณ„์‚ฐ๊ธฐ ๋ชฉ์—… ๋งŒ๋“ค๊ธฐ(๋””์ž์ธ)

JiEunยท2023๋…„ 2์›” 16์ผ
0
post-thumbnail

โœ”๏ธ ์‹œ์ž‘

์™€์ด์–ดํ”„๋ ˆ์ž„, ๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ, flex box๋“ฑ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.
์˜ค๋Š˜ ๋ถ€ํ„ฐ ํŽ˜์–ด ํ™œ๋™์œผ๋กœ ๋‹ค๋ฅธ ์ˆ˜๊ฐ•์ƒ๋ถ„๊ณผ 2์ธ 1์กฐ๊ฐ€ ๋˜์–ด ๊ฐ™์ด ๊ณต๋ถ€ํ•˜๊ณ  ํ•ด๊ฒฐํ•ด ๊ฐ„๋‹ค. ์ฒ˜์Œ์ด๊ณ  ๊ธด์žฅํ–ˆ์ง€๋งŒ ์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค๋„ ๋‹ค๋“ค ์ฒ˜์Œ์ผ ๊ฑฐ๋‹ค. ์šฉ๊ธฐ๋‚ด์„œ ๋‹ค๊ฐ€๊ธฐ๋กœ ํ•˜์ž.


๐Ÿ“ ๋ ˆ์ด์•„์›ƒ, ์™€์ด์–ดํ”„๋ ˆ์ž„

์›น ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๋ ˆ์ด์•„์›ƒ์˜ ๋ผˆ๋Œ€๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋‹จ๊ณ„์ด๋‹ค.

โœ”๏ธ ๋ชฉ์—…(Mock up)

์‹ค๋ฌผ ํฌ๊ธฐ์˜ ๋ชจํ˜•์„ ๋งํ•œ๋‹ค. ๋””์ž์ธ ์ ์šฉ ์˜ˆ์‹œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

โ—๏ธ์™€์ด์–ดํ”„๋ ˆ์ž„, ๋ชฉ์—… ์ž‘์—… ํ›„ ์ฝ”๋”ฉ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค.

์™€์ด์–ดํ”„๋ ˆ์ž„ ์ž‘์—…ํ•˜๊ธฐ ์ข‹์€ ์‚ฌ์ดํŠธ (ํ”ผ๊ทธ๋งˆ)
๐Ÿ”— https://www.figma.com/files/recent?fuid=1143125805789644897**

์–ด๋„๋น„ ํฌํ† ์ƒต, XD๋„ ์žˆ์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด๊ฒ๊ธฐ๋„ ํ•˜๊ณ  ๊ตฌ๋…๋ฃŒ๊ฐ€ ์žˆ์–ด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ํ”ผ๊ทธ๋งˆ๊ฐ€ ์ข‹๋‹ค. ๋˜ํ•œ ํ˜‘์—…ํ•  ๋•Œ๋„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ธฐ์— ์–ด๋Š ์ •๋„ ๊ธฐ๋Šฅ์„ ์•Œ๊ณ  ์žˆ๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

โœ”๏ธ ๋ ˆ์ด์•„์›ƒ ๋ฆฌ์…‹

HTML ๊ธฐ๋ณธ์ ์ธ ์Šคํƒ€์ผ์ด ์žˆ๋‹ค. ์ด๋กœ์ธํ•ด ๋ ˆ์ด์•„์›ƒ์„ ์žก๋Š”๋ฐ ๋ฐฉํ•ด๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์Šคํƒ€์ผ์€ *,html,body์— ์†์„ฑ์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๊ณ  reset.css, base.css๋“ฑ ์ œ๊ณต๋˜๋Š” ํŒŒ์ผ์„ ์ด์šฉํ•ด๋„ ์ข‹๋‹ค.

* {
	box-sizing: border-box;
}
/*boday๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ margin ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ทธ๋ถ€๋ถ„์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.*/
body {
	margin:0;
    padding:0;
}

๐Ÿ“ Flex box

๋ ˆ์ด์•„์›ƒ์„ ์ •๋ ฌํ•˜๋Š”๋ฐ flex, grid๊ฐ€ ์žˆ๋‹ค.
๋‘๊ฐ€์ง€์— ์ฐจ์ด์ ์€ flex๋Š” 1์ฐจ์›์ด๊ณ  grid๋Š” 2์ฐจ์› ๋ฐฉ์‹์œผ๋กœ grid๊ฐ€ ์ข€ ๋” ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ ํ•™์Šต์—์„œ๋Š” flex๋งŒ ๋ฐฐ์› ๋‹ค.

โœ”๏ธ flex

๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•ด, ์ž์‹ ๋ฐ•์Šค์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

โ—๏ธ๋ถ€๋ชจ ์š”์†Œ, ์ž์‹ ์š”์†Œ์— ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ด ๋‹ค๋ฅด๋‹ค.

๐Ÿ“ ๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•˜๋Š” ์†์„ฑ

flex-direction, flex-wrap, justify-content, align-item์ด ์žˆ๋‹ค.

โœ”๏ธ flex-direction(์ •๋ ฌ์ถ• ์ •ํ•˜๊ธฐ)

  • row(๊ธฐ๋ณธ๊ฐ’) : โžก๏ธ
  • column : โฌ‡๏ธ
  • row-revaerse : โฌ…๏ธ
  • column-reverse : โฌ†๏ธ

โœ”๏ธ flex-wrap(์ค„๋ฐ”๊ฟˆ ์„ค์ •)

ํ•˜์œ„ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ƒ์œ„ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๋„ฃ์œผ๋ฉด ์ž๋™ ์ค„ ๋ฐ”๊ฟˆ์ด ๋˜๋„๋ก ์„ค์ •ํ•ด ์ค€๋‹ค.

  • nowrap(๊ธฐ๋ณธ๊ฐ’)
  • wrap
  • wrap-reverse

โœ”๏ธ justify-content(์ถ• ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ์ •๋ ฌ)

  • row(๊ธฐ๋ณธ๊ฐ’) : โžก๏ธ ์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ, โžก๏ธ ์ˆ˜ํ‰๋ฐฉํ–ฅ
  • column : โฌ‡๏ธ ์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ, โฌ‡๏ธ ์ˆ˜ํ‰๋ฐฉํ–ฅ

์ฃผ์š” ์†์„ฑ ๊ฐ’

flex-start, flex-end, center, space-between, space-around

โœ”๏ธ align-item

์ž์‹ ์š”์†Œ๋“ค์„ ์ถ•์˜ ์ˆ˜์ง ๋ฐฉํ–ฅ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ •๋ ฌํ•  ๊ฒƒ์ธ์ง€

  • row(๊ธฐ๋ณธ๊ฐ’) : โžก๏ธ ์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ, โฌ‡๏ธ ์ˆ˜์ง๋ฐฉํ–ฅ
  • column : โฌ‡๏ธ ์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ, โžก๏ธ ์ˆ˜์ง๋ฐฉํ–ฅ

์ฃผ์š” ์†์„ฑ ๊ฐ’

stretch, flex-start, flex-end, center, baseline

๐Ÿ“ ์ž์‹ ์š”์†Œ์— ์ ์šฉํ•˜๋Š” ์†์„ฑ

โœ”๏ธ flex

์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚˜์•ผ ํ•  ๋•Œ ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚  ๊ฒƒ์ธ์ง€ ์„ค์ •

  • flex-grow (ํŒฝ์ฐฝ์ง€์ˆ˜)
    : ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚  ๊ฒฝ์šฐ ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚  ๊ฒƒ์ธ์ง€
  • flex-shrink (์ˆ˜์ถ•์ง€์ˆ˜)
    : ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค ๊ฒฝ์šฐ ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“ค ๊ฒƒ์ธ์ง€
  • flex-basis (๊ธฐ๋ณธ ํฌ๊ธฐ)
    : ์‚ฌ์ด์ฆˆ ๋ณ€ํ™”์— ์ƒ๊ด€์—†์ด ์š”์†Œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋Š” ์–ผ๋งˆ์ธ์ง€๋ฅผ ์˜๋ฏธ

โ—๏ธcheck point

  • ์ž์‹ ์š”์†Œ์—์„œ flex ์†์„ฑ์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ด ์ ์šฉ๋œ๋‹ค.
  • flex-grow, flex-shrink ์†์„ฑ์„ ํ•จ๊ผ ์‚ฌ์šฉํ•˜๋Š”๊ฑธ ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋น„์œจ๋กœ ๋ ˆ์ด์•„์›ƒ์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ flex-grow์†์„ฑ์— ๋ณ€ํ™”๋ฅผ ์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค.
    (์‹ค์ œ ํฌ๊ธฐ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—)
  • flex-grow์†์„ฑ ๊ฐ’์ด 0์ธ ๊ฒฝ์šฐ์—๋งŒ flex-basis ์†์„ฑ ๊ฐ’์ด ์œ ์ง€๋œ๋‹ค.

๐Ÿ“ ๊ณ„์‚ฐ๊ธฐ ๋ชฉ์—… ๋งŒ๋“ค๊ธฐ

์ฝ”๋”ฉ ์ž‘์—…์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ํ”ผ๊ทธ๋งˆ๋ฅผ ์ด์šฉํ•ด normal, hover ๋””์ž์ธ ์‹œ์•ˆ์„ ์ž‘์—…ํ–ˆ๋‹ค.

๋งˆํฌ์—… ๊นŒ์ง€ ์ž‘์—…์€ ํ–ˆ์ง€๋งŒ ๋‹ค๋ฅธ ๊ธฐ์ˆ˜ ์ˆ˜๊ฐ•์ƒ ๋ถ„๋“ค์˜ ๊ณผ์ œ๋ฌผ์„ ๋ณด๊ณ 
์กฐ๊ธˆ ํ˜„ํƒ€๊ฐ€ ์™”๋‹ค.. ๋‚ด์ผ ๊นŒ์ง€ ๋ณด์™„ํ•ด์•ผ ๊ฒ ๋‹ค.


โœ๏ธ ๋งˆ๋ฌด๋ฆฌ

flex box์— ๋Œ€ํ•ด ์•Œ๊ณ ๋Š” ์žˆ์—ˆ์ง€๋งŒ ๊นŠ์— ์•Œ์ง„ ๋ชปํ–ˆ๋‹ค. ์ด๋ฒˆ ํ•™์Šต์„ ํ†ตํ•ด
flex-glow, flex-shrink, flex-basis ์†์„ฑ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์˜€๋‹ค.

grid๋„ ์žˆ๋‹ค. ๋‚˜์ค‘์—” flex์™€ grid์˜ ์ฐจ์ด์ ์— ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค.

์˜ค๋Š˜์€ ์ฒซ ํŽ˜์–ด ํ™œ๋™์ด ์‹œ์ž‘๋˜๋Š” ๋‚ ์ด์˜€๋‹ค.
์˜คํ”„๋ผ์ธ์ด ์•„๋‹Œ ์˜จ๋ผ์ธ์œผ๋กœ ๊ฑฐ๋ฆฌ๊ฐ๋„ ๋Š๊ปด์กŒ๊ณ  ๋ญ”๊ฐ€ ๊ธด์žฅ ๋˜์—ˆ๋‹ค.
์ด๋ฒˆ ๊ณผ์ œ๋Š” ๋”ฐ๋กœ ์ž‘์—…ํ•˜๋‹ค ๊ถ๊ธˆํ•œ๊ฒŒ ์žˆ์œผ๋ฉด ๋ฌผ์–ด๋ณด๋Š” ๋ฐฉ์‹์ด ์˜€๋Š”๋ฐ ์ž‘์—…ํ•˜๋Š”๊ฑฐ์— ์ง‘์ค‘ํ•˜๋‹ค ๋ณด๋‹ˆ ๋๋‚˜๊ธฐ ์ž‘์—…์‹œ๊ฐ„ ์ค‘ 10~20๋ถ„์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ๋””์—  ๋ง๊ณค ๋งํ•˜์ง€ ์•Š์•˜๋‹ค. ๋‹ค์Œ๋‚ ์—๋Š” ์ด๊ฒƒ์ €๊ฒƒ ์–˜๊ธฐํ•˜๋ฉด์„œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•ด์•ผ๊ฒ ๋‹ค.

๊ณ„์‚ฐ๊ธฐ ๋ชฉ์—…์„ ๋งŒ๋“œ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์ž˜ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ด๋ฒˆ ์ž‘์—…์„ ํ†ตํ•ด flex box๋ฅผ ๋‚ด๊ฒƒ?์œผ๋กœ ํก์ˆ˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋””์ž์ธ ๋ฒค์น˜๋งˆํ‚นํ•˜๋Š”๋ฐ ๊ฑฐ์˜ 1์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค.
๊ทธ๋ ‡๊ฒŒ ์™„์„ฑํ•˜๊ณ  ๋‚˜๋ฆ„ ์ž˜ํ–ˆ๋‹ค ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ด์ „ ๊ธฐ์ˆ˜ ์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค์˜ ๊ณผ์ œ๋ฌผ์„ ๋ณด๊ณ 
์‚ด์ง ํ˜„ํƒ€๊ฐ€ ์™”๋‹ค. ์•„๋ฌด๋ž˜๋„ ๋””์ž์ธ ๊ด€๋ จ ์—…๋ฌด๋ฅผ ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ํ‹€์— ๋ฐ•ํ˜€ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋‚ด์ผ๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ ์ž‘์—…์œผ๋กœ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ณด์™„ํ•˜๊ณ  ํŽ˜์–ด๋ถ„๊ป˜ ๋„์›€์ด ๋˜๋Š” ๋ถ€๋ถ„์€ ์—ด์‹ฌํžˆ ๋„์™€์ค˜์•ผ๊ฒ ๋‹ค.

๊ณต๋ถ€ํ•  ๋•Œ ์ฐธ๊ณ ํ•˜๊ธฐ ์ข‹์€ ์‚ฌ์ดํŠธ
๐Ÿ”— https://d2.naver.com/helloworld/8540176
๐Ÿ”— https://studiomeal.com/archives/533

profile
๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ฑ์žฅ ์ค‘! (์•Œ์•„๋ดค๋˜ ๋‚ด์šฉ ๋“ฑ์„ ์ •๋ฆฌํ•˜๊ธฐ)

0๊ฐœ์˜ ๋Œ“๊ธ€