Jieunny์˜ ๋ธ”๋กœ๊ทธ

Unit5. HTML/CSS ํ™œ์šฉ ๋ณธ๋ฌธ

CodeStates/learning contents

Unit5. HTML/CSS ํ™œ์šฉ

Jieunny 2022. 12. 19. 11:05

๐Ÿ“ฃ ์™€์ด์–ด ํ”„๋ ˆ์ž„

์›น ๋˜๋Š” ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๋ ˆ์ด์•„์›ƒ์˜ ๋ผˆ๋Œ€๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋‹จ๊ณ„
๋‹จ์ˆœํ•œ ์„ ์ด๋‚˜ ๋„ํ˜•์œผ๋กœ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋งŒ ๋ณด์—ฌ์ฃผ๊ธฐ
ํ™”์—ฐ์˜ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์ผ
โžฐ ๊ฐ ์˜์—ญ์—์„œ ์‚ฌ์šฉํ•  ์ฃผ์š” ํƒœ๊ทธ ์ ๊ธฐ

๐Ÿ“ฃ ๋ชฉ์—… (Mock-up)

์‹ค์ œ ์ž‘ํ’ˆ์ด ์ž‘๋™ํ•˜๋Š” ๋ชจ์Šต๊ณผ ๋™์ผํ•˜๊ฒŒ HTML์„ ์ž‘์„ฑ
ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ์‹
โžฐ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ž…๋ ฅํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•


๐Ÿ“ฃ HTML ๊ตฌ์„ฑํ•˜๊ธฐ

โœ”๏ธ ์ˆ˜์ง๋ถ„ํ•  & ์ˆ˜ํ‰๋ถ„ํ• 

1. ์ˆ˜์ง๋ถ„ํ•  : ํ™”๋ฉด์„ ์ˆ˜์ง์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ฝ˜ํ…์ธ ๊ฐ€ '๊ฐ€๋กœ'๋กœ ๋ฐฐ์น˜๋˜๊ฒŒ ํ•œ๋‹ค.
2. ์ˆ˜ํ‰๋ถ„ํ•  : ๋ถ„ํ• ๋œ ๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ๊ตฌํ˜•์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๋‚ด๋ถ€ ์ฝ˜ํ…์ธ ๊ฐ€ '์„ธ๋กœ'๋กœ ๋ฐฐ์น˜๋˜๊ฒŒ ํ•œ๋‹ค.
1, 2๋ฅผ ์ฐจ๋ก€๋กœ ์ง„ํ–‰ํ•œ๋‹ค.


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

HTML ํƒœ๊ทธ๋“ค์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์Šคํƒ€์ผ์„ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ
* {
	box-sizing : border-box;
}

body {
	margin: 0;
	padding: 0;
}

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

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


โœ”๏ธ display : flex

๋ถ€๋ชจ ๋ฐ•์Šค์— display : flex ๋ฅผ ์ ์šฉํ•ด์„œ ์ž์‹ ๋ฐ•์Šค์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
<main>
	<div>box1</div>
   	<div>box2</div>
    	<div>box3</div>
</main>
main {
	border : 1px dotted red;
}

div {
	border : 1px solid green;
}

* {
	margin: 10px;
    	padding: 10px;
}
main {
	display: flex;
    border: 1px dotted red;
}
์ž์‹ &lt;div&gt; ์š”์†Œ๋“ค์ด ์™ผ์ชฝ๋ถ€ํ„ฐ ๊ฐ€๋กœ๋กœ ์ •๋ ฌ + ๋‚ด์šฉ๋งŒํผ์˜ ๊ณต๊ฐ„์„ ์ฐจ์ง€


โœ”๏ธ ๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•ด์•ผํ•˜๋Š” Flexbox ์†์„ฑ

1. flex-direction : ์ •๋ ฌ ์ถ• ์ •ํ•˜๊ธฐ
โžฐ row : ์™ผ์ชฝ๋ถ€ํ„ฐ ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜
โžฐ column : ์œ„์—์„œ๋ถ€ํ„ฐ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜
โžฐ row-reverse : ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜
โžฐ column-reverse : ์•„๋ž˜๋ถ€ํ„ฐ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜



2. flex-wrap : ์ค„ ๋ฐ”๊ฟˆ ์„ค์ •ํ•˜๊ธฐ
ํ•˜์œ„ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ƒ์œ„์š”์†Œ๋ฅผ ๋„˜์œผ๋ฉด ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ์„ ํ• ๊ฒƒ์ธ๊ฐ€?
์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์ค„๋ฐ”๊ฟˆX
โžฐ nowrap(๊ธฐ๋ณธ๊ฐ’) : ์ค„๋ฐ”๊ฟˆ ํ•˜์ง€ ์•Š์Œ.
โžฐ wrap : ์œ„์—์„œ๋ถ€ํ„ฐ ๊ฝ‰ ์ฑ„์šฐ๊ณ  ์•„๋ž˜๋กœ ๋ณด๋ƒ„.
โžฐ wrap-reverse : ์•„๋ž˜๋ถ€ํ„ฐ ๊ฝ‰ ์ฑ„์šฐ๊ณ  ์œ„๋กœ ๋ณด๋ƒ„.



3. justify-content : ์ถ• ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ์ •๋ ฌ (๊ฐ€๋กœ์ถ•)
์ž์‹ ์š”์†Œ๋“ค์„ ์ถ•์˜ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ •๋ ฌํ•  ๊ฒƒ์ธ๊ฐ€?
โžฐ flex-start(๊ธฐ๋ณธ๊ฐ’) : ์š”์†Œ๋“ค์„ ์ปจํ…Œ์ด๋„ˆ์˜ ์™ผ์ชฝ์œผ๋กœ ์ •๋ ฌ
โžฐ flex-end : ์š”์†Œ๋“ค์„ ์ปจํ…Œ์ด๋„ˆ์˜ ์šฐ์ธก์œผ๋กœ ์ •๋ ฌ
โžฐ center : ์š”์†Œ๋“ค์„ ์ปจํ…Œ์ด๋„ˆ์˜ ์ค‘์•™์œผ๋กœ ์ •๋ ฌ
โžฐ space-between : ์š”์†Œ๋“ค ์‚ฌ์ด์— ๋™์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋‘”๋‹ค.
โžฐ space-arount : ์š”์†Œ๋“ค ์ฃผ์œ„์— ๋™์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋‘”๋‹ค.



4. align-items : ์ถ• ์ˆ˜์ง ๋ฐฉํ–ฅ ์ •๋ ฌ (์„ธ๋กœ์ถ•)
์ž์‹ ์š”์†Œ๋“ค์„ ์ถ•์˜ ์ˆ˜์ง ๋ฐฉํ–ฅ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ •๋ ฌํ•  ๊ฒƒ์ธ๊ฐ€?
โžฐ flex-start : ์ปจํ…Œ์ด๋„ˆ์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ •๋ ฌ
โžฐ flex-end : ์ปจํ…Œ์ด๋„ˆ์˜ ์ตœํ•˜๋‹จ์œผ๋กœ ์ •๋ ฌ
โžฐ center : ์ปจํ…Œ์ด๋„ˆ์˜ ์„ธ๋กœ ์ถ•์˜ ์ค‘์•™์œผ๋กœ ์ •๋ ฌ
โžฐ baseline : ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘์œ„์น˜์— ์ •๋ ฌ
โžฐ stretch(๊ธฐ๋ณธ๊ฐ’) : ์ปจํ…Œ์ด๋„ˆ์— ๋งž๊ฒŒ ๋Š˜๋ฆฐ๋‹ค.



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

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

flex : grow(ํŒฝ์ฐฝ์ง€์ˆ˜) shrink(์ˆ˜์ถ• ์ง€์ˆ˜) basis(๊ธฐ๋ณธ ํฌ๊ธฐ)
// ๊ธฐ๋ณธ๊ฐ’ 0 1 auto;

โžฐ grow : ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚  ๊ฒƒ์ธ๊ฐ€.
์ •๋ ฌ์ถ• ๋ฐฉํ–ฅ์œผ๋กœ ๋นˆ ๊ณต๊ฐ„์ด ์žˆ์„ ๋•Œ ์–ผ๋งˆ๋‚˜ ๋Š˜์–ด๋‚˜์„œ ๋‚จ๋Š” ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•  ๊ฒƒ์ธ์ง€์˜ ๋น„์œจ
โžฐ shrink : ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค ๋•Œ ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“ค ๊ฒƒ์ธ๊ฐ€.
์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ถ”์ฒœX , ๊ทธ๋ƒฅ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘ฌ๋ผ.
โžฐ basis : ์š”์†Œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋Š” ์–ผ๋งˆ์ธ๊ฐ€.
grow๋‚˜ shrink์— ์˜ํ•ด ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ค๊ธฐ ์ „์˜ ํฌ๊ธฐ
๐Ÿšจ flex-grow ์†์„ฑ์˜ ๊ฐ’์ด 0์ธ ๊ฒฝ์šฐ์—๋งŒ flex-basis ์†์„ฑ์˜ ๊ฐ’์ด ์œ ์ง€๋œ๋‹ค!
โžฐ width < flex-basis
โžฐ ์ฝ˜ํ…์ธ ๊ฐ€ ๋งŽ์•„ ์ž์‹ ๋ฐ•์Šค๊ฐ€ ๋„˜์น˜๋Š” ๊ฒฝ์šฐ, width๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค.
โžฐ flex-basis ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ width ๋Œ€์‹  max-width๋ฅผ ์‚ฌ์šฉํ•ด ๋„˜์น˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.