โšซ CSS flex

Dayยท2022๋…„ 4์›” 4์ผ
0
post-thumbnail
post-custom-banner

๐Ÿ“˜ flex

๋ ˆ์ด์•„์›ƒ ๋งŒ๋“œ๋Š” ์†์„ฑ
flex ์“ฐ๋ฉด margin, absolute ์ด๋Ÿฐ๊ฑฐ ์•ˆํ•ด๋„ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ฐฐ์น˜ ๊ฐ€๋Šฅ
ํŠนํžˆ ๊ฐ€๋กœ ์ •๋ ฌ ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

flex ๋‚ด๋ถ€ ๊ฐ’๋“ค ์†์„ฑ ์ฃผ๊ธฐ ์ „์—, flex ๊ฑธ ๋ถ€๋ชจ๋“ค ๊ฐ„์˜ ๊ด€๊ณ„ ๋ถ€ํ„ฐ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค.

flex ์†์„ฑ์€ ํฌ๊ฒŒ justify-content(์ขŒ์šฐ) align-items(์ƒํ•˜) ๊ฐ€ ์žˆ๋‹ค.

โœ”justify-content(์ขŒ์šฐ)

.wrapper{
display:flex;
justify-content : flex-start /*์™ผ์ชฝ ์ •๋ ฌ*/
justify-content : flex-end/*์˜ค๋ฅธ์ชฝ ์ •๋ ฌ*/
justify-content : space-around/*์˜์—ญ(๋ถ€๋ชจ) ์•ˆ์—์„œ ๊ฐ๊ฐ์˜ ์ž์‹๋“ค์ด ๋งˆ์ง„์„ ๊ฐ€์ง€๊ฒŒ ํ•จ*/
justify-content : space-between/*์˜์—ญ ์•ˆ์—์„œ ์ขŒ์šฐ ๋ ๋งˆ์ง„์€ ์‚ฌ๋ผ์ง€๊ณ  ์ž์‹๋“ค ์‚ฌ์ด ๋งˆ์ง„๋งŒ ๊ฐ€์ง€๊ฒŒ ํ•จ. ์ œ์ผ ๋งŽ์ด ์“ด๋‹ค. */
justify-content : space-evenly /* ๋ชจ๋“  ๊ณต๊ฐ„์ด ๋™์ผํ•˜๊ฒŒ ๋งˆ์ง„์„ ๊ฐ€์ง */
justify-content : center /*๊ฐ€์šด๋ฐ ์ •๋ ฌ*/'

๋ถ€๋ชจ ์•ˆ์˜, ์ž์‹๋“ค์ด ์–ด๋–ป๊ฒŒ ์ •๋ ฌ๋  ๊ฑด์ง€ ์ •ํ•œ๋‹ค.
๋ถ€๋ชจ์— flex ๊ฑธ์–ด์„œ, ๋ฐ”๋กœ ๋ฐ‘์˜ ์ฒซ๋ฒˆ์งธ ์ž์‹๋“คํ•œํ…Œ๋งŒ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์†์„ฑ๋“ค๋„ ๋ถ€๋ชจํ•œํ…Œ ๊ฑด๋‹ค.

flex๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ขŒ, ์œ„์— ๋งž์ถฐ์„œ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค.

โœ” align-items(์ƒํ•˜)

align-items๋„ justify-content๋ž‘ ๊ฐ™์€๋ฐ ์ด๊ฑด ์œ„์•„๋ž˜๋กœ ์ž‘์šฉํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
ํ•œ์ค„ ์ผ๋•Œ ์“ด๋‹ค, ์—ฌ๋Ÿฌ์ค„ ์ผ๋• align-content

.wrapper{
display:flex;
align-items : flex-start/*๊ธฐ๋ณธ๊ฐ’์ด ์œ„์ชฝ ๊ธฐ์ค€์ด๋ผ ๋ณ„ ์ฐจ์ด์—†์Œ*/
align-items : flex-end/*์•„๋ž˜์ชฝ์œผ๋กœ ๋ถ™์–ด์„œ ์ •๋ ฌ๋œ๋‹ค.*/
align-items : center/*์œ„ ์•„๋ž˜ ์ •๋ ฌ์ด ์ค‘๊ฐ„์œผ๋กœ ๋งž์ถฐ์ง*/

๐Ÿšฆ order

์ˆœ์„œ
flex ์ ์šฉ๋  ์ž์‹์— order:3 ์ด๋Ÿฐ์‹์œผ๋กœ ์ง์ ‘ ์“ด๋‹ค.
์ˆซ์ž๊ฐ€ ๊ณง ์ˆœ์„œ์ด๊ณ  ์ž‘์€ ๊ฐ’์ด ๋จผ์ € ์˜จ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์€ order:0 ์ด๋‹ค.
๊ทธ๋ž˜์„œ ํŠน์ • ์•„์ดํ…œ์„ ์•ž์œผ๋กœ ์˜ฎ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์Œ์ˆ˜๋กœ ์“ด๋‹ค.

โœ”flex-direction

์„ธ์šฐ๊ธฐ

flex-direction : row; ํ–‰(๊ฐ€๋กœ) ๋ฐฉํ–ฅ์œผ๋กœ ์„ธ์šด๋‹ค. /*flex ์“ฐ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ด ์ด๊ฑฐ๋‹ค*/
flex-direction : column; ์—ด(์„ธ๋กœ) ๋ฐฉํ–ฅ์œผ๋กœ ์„ธ์›€
flex-direction : row-reverse; ํ–‰์œผ๋กœ ๋‚˜์—ดํ•˜๋Š”๋ฐ ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ 
flex-direction : column-reverse; ์—ด๋ฐฉํ–ฅ์œผ๋กœ ์„ธ์šฐ๋Š”๋ฐ ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ

4๊ฐ€์ง€ ์†์„ฑ๊ฐ’

โœ”flex-wrap

์—ฌ๋Ÿฌ ์ค„๋กœ ์ •๋ ฌ
ํ•œ์ค„๋กœ ์ •๋ ฌ(nowrap) ๋˜๋Š”๊ฒŒ ๊ธฐ๋ณธ ๊ฐ’์ธ๋ฐ, flex ๊ฑด ๋ถ€๋ชจ width๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์œผ๋ฉด ๋ฐ–์œผ๋กœ ์‚์ ธ ๋‚˜๊ฐ„๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ์ค„๋กœ ๋งŒ๋“œ๋Š” ๊ฑฐ๋‹ค.
ํ˜น์€ ํ•œ์ค„๋กœ ๊ทธ๋Œ€๋กœ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด,
Flex ์ปจํ…Œ์ด๋„ˆ ๋์— ๋‹ฟ์•„๋„ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์— ๋จธ๋ฌผ๊ฒŒ ๋ณด์ด๋„๋ก flex ์•„์ดํ…œ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด์ฃผ๋Š” flex:auto; ๋ฅผ ์“ด๋‹ค. (์ž์‹๋“คํ•œํ…Œ!)

flex-wrap : nowrap ; (๋ชจ๋“  ์š”์†Œ๋“ค์„ ํ•œ ์ค„์— ์ •๋ ฌ) (๊ธฐ๋ณธ๊ฐ’์ด๋‹ค)
flex-wrap : wrap ; (์š”์†Œ๋“ค์„ ์—ฌ๋Ÿฌ ์ค„์— ์ •๋ ฌ)
flex-wrap : wrap-reverse ; (์š”์†Œ๋“ค์„ ์—ฌ๋Ÿฌ ์ค„์— ๋ฐ˜๋Œ€๋กœ ์ •๋ ฌ)

Flex-direction : row; ์ผ๋•Œ

  • wrap

  • nowrap

  • wrap-reverse

  • Flex-direction : column; ์ผ๋•Œ

โœ”align-content

align-item ์€ ํ•œ์ค„,
์ด๊ฑด ์—ฌ๋Ÿฌ ์ค„. ๋‹ค๋ฅธ ์ฐจ์ด๋Š” ์—†๋‹ค.

flex-start:  ์—ฌ๋Ÿฌ์ค„๋“ค์„ ๊ผญ๋Œ€๊ธฐ์— ์ •๋ ฌํ•œ๋‹ค.
flex-end : ์—ฌ๋Ÿฌ ์ค„๋“ค์„ ๋ฐ”๋‹ฅ์— ์ •๋ ฌํ•œ๋‹ค.
center : ์—ฌ๋Ÿฌ ์ค„๋“ค์„ ์„ธ๋กœ์„ ์ƒ ๊ฐ€์šด๋ฐ์— ์ •๋ ฌํ•œ๋‹ค.
space-between:์—ฌ๋Ÿฌ ์ค„ ์‚ฌ์ด์— ๋™์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋‘”๋‹ค.(์–‘๋)
space-around: ์—ฌ๋Ÿฌ ์ค„๋“ค ์ฃผ์œ„์— ๋™์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋‘”๋‹ค. 
stretch: ์—ฌ๋Ÿฌ ์ค„๋“ค์„ ์ปจํ…Œ์ด๋„ˆ์— ๋งž๊ฒŒ ๋Š˜๋ฆผ(๊ธฐ๋ณธ๊ฐ’)

โœ”align-self

๊ฐ๊ฐ  align-items ๊ฐ€ ๋ฐ›๋Š” ๊ฐ’๋“ค์„ ์ธ์ž๋กœ ๋ฐ›์Œ. 
๊ฐ™์€๋ฐ ๋ณดํ†ต flex๋Š” ๋ถ€๋ชจํ•œํ…Œ ๊ฑฐ๋Š”๋ฐ, ์ด๊ฑด ์ง€์ •ํ•œ ์š”์†Œ(์ž์‹)์— ์ ์šฉ.  

๊ทธ๋ฆผ์€, wrapper ํด๋ž˜์Šค ๋ถ€๋ชจ์•ˆ์— 1,2,3 ์ž์‹์ด ์žˆ๊ณ  justify-content: space-between ์†์„ฑ์„ ์“ด ๊ฒƒ

โœ”flex-flow

flex-direction ๊ณผ flex-wrap ๋‘๊ฐœ๋Š” ๊ฐ™์ด ์ž์ฃผ ์“ฐ์—ฌ์„œ ๋™์‹œ์— ์ธ์ž๋กœ ๋ฐ›๋Š” ์†์„ฑ
์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ , ๋ช‡์ค„๋กœ ํ‘œ์‹œ๋˜๊ฒŒ flex ๊ฐ€ ํ๋ฅผ ๊ฒƒ์ธ๊ฐ€ -

flex-flow : row wrap ;

ํ—ท๊ฐˆ๋ฆด ๋•Œ๋Š”, flex froggy ํ•˜๋ฉด์„œ ๋ณต์Šตํ•˜๋ฉด ๋œ๋‹ค.

post-custom-banner

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