๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“š FrontEnd -Study/HTML, CSS

TIL - [HTML/CSS ๊ธฐ์ดˆ]

by ChaeLOTUS 2023. 2. 16.
728x90

์™€์ด์–ดํ”„๋ ˆ์ž„(Wireframe)

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

 

์™€์ด์–ดํ”„๋ ˆ์ž„์€ ๋ง ๊ทธ๋Œ€๋กœ "์™€์ด์–ด๋กœ ์„ค๊ณ„๋œ ๋ชจ์–‘"์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋‹จ์ˆœํ•œ ์„ ์ด๋‚˜, ๋„ํ˜•์œผ๋กœ ์›น์ด๋‚˜ ์•ฑ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ฌ˜์‚ฌํ•œ ๊ฒƒ์ด๋‹ค. ์™€์ด์–ดํ”„๋ ˆ์ž„์€ ๋‹จ์ˆœํ•˜๊ฒŒ, ๋ ˆ์ด์•„์›ƒ๊ณผ ์ œํ’ˆ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์šฉ๋„์ด๋‹ค. ์ „ํ™˜ ํšจ๊ณผ๋‚˜, ์• ๋‹ˆ๋ฉ”์ด์…˜, ์‚ฌ์šฉ์ž ํ…Œ์ŠคํŠธ ๊ฐ™์€ ์Šคํƒ€์ผ๋ง ์š”์†Œ๋‚˜ UX(์‚ฌ์šฉ์ž ๊ฒฝํ—˜, User Experience)๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

 

 

๋ชฉ์—…(Mock-up)

์›น ๋˜๋Š” ์•ฑ์„ ์ œํ’ˆ์ด๋ผ๊ณ  ํ•  ๋•Œ, ๋ชฉ์—…์€ ์‹ค์ œ ์ œํ’ˆ์ด ์ž‘๋™ํ•˜๋Š” ๋ชจ์Šต๊ณผ ๋™์ผํ•˜๊ฒŒ HTML ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

 

 

Flexbox๋กœ ๋ ˆ์ด์•„์›ƒ ์žก๊ธฐ

Flexbox๋กœ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์€, ๋ฐ•์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์žก๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

display: flex ๋ถ„์„ํ•˜๊ธฐ

display: flex ๋Š” ๋ถ€๋ชจ ๋ฐ•์Šค ์š”์†Œ์— ์ ์šฉํ•ด, ์ž์‹ ๋ฐ•์Šค์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•ด์•ผํ•˜๋Š” Flexbox ์†์„ฑ๋“ค

Flexbox ์†์„ฑ์ค‘์—์„œ๋Š” ๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•ด์•ผํ•˜๋Š” ์†์„ฑ๋“ค, ์ž์‹ ์š”์†Œ์— ์ ์šฉํ•ด์•ผํ•˜๋Š” ์†์„ฑ๋“ค์ด ์žˆ๋‹ค.

 

1. flex-direction : ์ •๋ ฌ ์ถ• ์ •ํ•˜๊ธฐ

2. flex-wrap : ์ค„ ๋ฐ”๊ฟˆ ์„ค์ •ํ•˜๊ธฐ

  • flex-wrap ์†์„ฑ์€ ํ•˜์œ„ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ƒ์œ„ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์œผ๋ฉด ์ž๋™ ์ค„ ๋ฐ”๊ฟˆ์„ ํ•  ๊ฒƒ์ธ์ง€ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •ํ•ด ์ฃผ์ง€ ์•Š์œผ๋ฉด ์ค„ ๋ฐ”๊ฟˆ์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3. justify-content : ์ถ• ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ์ •๋ ฌ

4.align-items : ์ถ• ์ˆ˜์ง ๋ฐฉํ–ฅ ์ •๋ ฌ

์ฃผ์š” ์†์„ฑ๊ฐ’์œผ๋กœ๋Š” stretch , flex-start , flex-end , center , baseline์ด ์žˆ๋‹ค.

 

 

์ž์‹ ์š”์†Œ์— ์ ์šฉํ•ด์•ผ ํ•˜๋Š” Flexbox ์†์„ฑ

flex ์†์„ฑ์˜ ๊ฐ’

flex ์†์„ฑ์—๋Š” ์„ธ ๊ฐ€์ง€ ๊ฐ’์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

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

์ž์‹ ์š”์†Œ์— flex ์†์„ฑ์„ ๋”ฐ๋กœ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ๊ฐ’์ด ์ ์šฉ๋œ๋‹ค.

flex: 0 1 auto;

์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ค˜๋„ ์ƒ๊ด€์—†๋‹ค.

 

 

1. grow : ์ž์‹ ๋ฐ•์Šค๋Š” ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์„๊นŒ?

grow(ํŒฝ์ฐฝ ์ง€์ˆ˜) ๋Š” ์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ์œผ๋กœ ๋นˆ ๊ณต๊ฐ„์ด ์žˆ์„ ๋•Œ, ๊ฐ ์ž์‹ ์š”์†Œ๋“ค์ด ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚˜์„œ ๋‚จ๋Š” ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•  ๊ฒƒ์ธ์ง€ ๋น„์œจ์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

2. shrink : ์ž์‹ ๋ฐ•์Šค๋Š” ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ์„๊นŒ?

shrink(์ˆ˜์ถ• ์ง€์ˆ˜)๋Š” grow์™€ ๋ฐ˜๋Œ€๋กœ, ์„ค์ •ํ•œ ๋น„์œจ๋งŒํผ ๋ฐ•์Šค ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง„๋‹ค. ๋น„์œจ์ด ํด์ˆ˜๋ก ๋” ๋งŽ์ด ์ค„์–ด๋“ ๋‹ค.

3. basis : ์ด ๋ฐ•์Šค์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋Š” ์–ผ๋งˆ์ผ๊นŒ์š”?

flex-basis๋Š” Flex ์•„์ดํ…œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค(flex-direction์ด row์ผ ๋•Œ๋Š” ๋„ˆ๋น„, column์ผ ๋•Œ๋Š” ๋†’์ด).

 flex-basis์˜ ๊ฐ’์œผ๋กœ๋Š” ์šฐ๋ฆฌ๊ฐ€ width, height ๋“ฑ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ข… ๋‹จ์œ„์˜ ์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ๊ธฐ๋ณธ๊ฐ’ auto๋Š” ํ•ด๋‹น ์•„์ดํ…œ์˜ width๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. width๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ปจํ…์ธ ์˜ ํฌ๊ธฐ๊ฐ€ ๋จ.

auto๊ฐ’์„ ์ฃผ๊ฒŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ฝ˜ํ…์ธ  ๋‚ด์šฉ์— ๋งž์ถฐ ๋ณ€ํ•˜๊ณ  ์ž์‹๋ฐ•์Šค๋ชจ๋‘ basis์— 0์„ ์ฃผ๋ฉด ์ฝ˜์ฒธ์ธ  ๊ธธ์ด์™€ ์ƒํ™ฉ์—†์ด ๋ถ€๋ชจ ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ ์•ˆ์—์„œ ๋™์ผํ•œ ๋„ˆ๋น„๋ฅผ ๋‚˜๋ˆ ๊ฐ–๋Š”๋‹ค.

flex-grow ๊ฐ€ 0์ผ ๋•Œ, basis ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๊ทธ ํฌ๊ธฐ๋Š” ์œ ์ง€๋œ๋‹ค.

ex)

 

.item {
	flex-basis: 100px;
}

์›๋ž˜ 100px์ด ์•ˆ๋˜๋Š” AAA ์™€CCC๋Š” ๋Š˜์–ด๋‚ฌ๊ณ  100px์ด ๋„˜๋Š” BBB๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค.

.item {
	width: 100px;
}

๋ฐ˜๋ฉด์—, width๋ฅผ ์„ค์ •ํ•˜๋ฉด, ์›๋ž˜ 100px์ด ๋„˜๋Š” BBB๋„ 100px๋กœ ๋งž์ถฐ์ง„๋‹ค.

 

 

728x90

'๐Ÿ“š FrontEnd -Study > HTML, CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[CSS] em / rem  (0) 2023.02.18
TIL - [CSS ๊ธฐ์ดˆ]  (0) 2023.02.15
[HTML ๊ธฐ์ดˆ]  (0) 2023.02.14
css/ initial vs inherit vs unset  (0) 2022.12.10
css/list sytle type  (0) 2022.12.10

๋Œ“๊ธ€