๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/๊ตญ๋น„์ง€์›

[D+45] CSS : box-sizing, position, flex

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 11. 23.

 

 

๊ตญ๋น„์ง€์› D+45

-  CSS : box-sizing, position, flex -

 


 

CSS : box-sizing

- Element์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

 

- content-box : ๊ธฐ๋ณธ๊ฐ’, content ์˜์—ญ์ด width, height์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค.

- border-box : border๊นŒ์ง€์˜ ์˜์—ญ์ด width, height์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค.

 


CSS : position

- HTML๋ฌธ์„œ์—์„œ element๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ element์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค.

- static(๊ธฐ๋ณธ๊ฐ’), relative, absolute, fixed, sticky

 

• position : static

- element๊ฐ€ ๋ฌธ์„œ์˜ ์ผ๋ฐ˜์ ์ธ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜๋œ๋‹ค.

- top, right, bottom์™€ ๊ฐ™์€ ์ž„์˜์˜ ์œ„์น˜๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ๋ฐ˜์‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

• position : relative

- element๊ฐ€ ๋ฌธ์„œ์˜ ์ผ๋ฐ˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜๋œ ๋‹ค์Œ ์ž๊ธฐ์ž์‹ ์„ ๊ธฐ์ค€์œผ๋กœ offset ๋œ๋‹ค.

- ์ƒ๋Œ€์  ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค.

- ์—ฌ์ „ํžˆ ๋ถ€๋ชจ element์™€๋Š” ์—ฐ๊ด€๋˜์–ด์žˆ๋Š” ์ƒํƒœ์ด๋‹ค.

- offset : ์ƒ๋Œ€์  ๊ธฐ์ค€์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฐ˜๋Œ€๋˜๋Š” ๋ง์€ ์„ธ๊ทธ๋จผํŠธ์ด๋‹ค.

 

- child์— position์„ relative๋กœ๋งŒ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ์„ ๋ฟ์ธ๋ฐ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

• position : absolute

- ์ผ๋ฐ˜ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋˜๊ณ  ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ์˜ ์š”์†Œ์— ๋Œ€ํ•œ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋ฐ ์ด๋ง์€ ์ฆ‰ ๋ถ€๋ชจ element๋กœ ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๋…๋ฆฝ๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

- ์ƒˆ๋กœ์šด ๋ ˆ์ด์•„์›ƒ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋•Œ ์กฐ์ƒ์„ ๊ฐ€์žฅ ๋จผ์ € ๋งŒ๋‚˜๋Š” static์ด ์•„๋‹Œ element๋ฅผ ์กฐ์ƒ์œผ๋กœ ์‚ผ๋Š”๋‹ค.

- static์ด ์•„๋‹Œ ์กฐ์ƒ์„ ๋งŒ๋‚˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ body๋ฅผ ์กฐ์ƒ์œผ๋กœ ์‚ผ๋Š”๋‹ค.

- ์ตœ์ดˆ์˜ ์œ„์น˜๋Š” ์›๋ž˜ element๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผํ•˜๋Š” ์œ„์น˜(static)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

- ์ขŒํ‘œ์™€ ํฌ๊ธฐ์ •๋ณด๋ฅผ ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

• position : fixed

- absolute์™€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

- ์Šคํฌ๋กค์ด ๋ ์ง€๋ผ๋„ ์œ„์น˜๋ณ€๊ฒฝ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

 


flex

- ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•œ display ์ฒ˜๋ฆฌ๋ฐฉ์‹์ด๋‹ค.

- ๊ธฐ์กด HTML์˜ ์ˆ˜์ง์ ์ธ ๋ ˆ์ด์•„์›ƒ์„ ์ˆ˜ํ‰์ ์œผ๋กœ ์ฒ˜๋ฆฌํ• ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

- ๋งŒ์•ฝ container์•ˆ์— ์žˆ๋Š” item๋“ค์„ ์ˆ˜ํ‰์ ์ธ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ item์ด ์•„๋‹Œ container์— ๋Œ€ํ•œ display๋ฅผ flex๋กœ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

- position์˜ relative์™€ ๋น„์Šทํ•œ ํŠน์ •์œผ๋กœ ๋ถ€๋ชจ์™€ ์™„์ „ํžˆ ๋–จ์–ด์ง€์ง€๋Š” ์•Š๋Š” ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

• flex์™€ ๊ด€๋ จ๋œ ์†์„ฑ๋“ค

- flex-direction : flex ํ˜•์‹์˜ ์•„์ดํ…œ๋“ค์˜ ๋ฐฉํ–ฅ์„ row๋‚˜ columํ˜•์‹์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

- flex-basis : flex ์•„์ดํ…œ์˜ ์ดˆ๊ธฐ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, width๋ณด๋‹ค ์šฐ์„ ๊ถŒ์„ ๊ฐ€์ง„๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€