10-3. CSS ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ

2021. 10. 17. 18:01ใ†HTML + CSS + JS

728x90

1. ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ 

ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์—์„œ๋Š” ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋ฐฐ์น˜ํ•  ๋•Œ ๊ฐ€๋กœ๋‚˜ ์„ธ๋กœ ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์ฃผ์ถ•์œผ๋กœ ๋‘๊ณ  ๋ฐฐ์น˜ํ•œ๋‹ค. 

https://hyejin.tistory.com/143

 

10-2. CSS ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ (flex-direction, flex-flow, flex-wrap, justify-content, align-content, align-self, align

1. ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๊ณ  ๊ฐ ๋ฐ•์Šค๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜์— ๋”ฐ๋ผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๋ฉด ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋Š˜์ด๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. 1๏ธโƒฃ ํ”Œ

hyejin.tistory.com

CSS ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์€ ๊ทธ๋ฆฌ๋“œ ํ•ญ๋ชฉ์„ ๋ฐฐ์น˜ํ•  ๋•Œ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•œ๋‹ค. 

๋”ฐ๋ผ์„œ ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์€ 1์ฐจ์›์ด๊ณ , ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์€ 2์ฐจ์›์ด๋‹ค. 

 

1๏ธโƒฃ display ์†์„ฑ 

๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ์ง€์ •ํ•  ๋•Œ์—๋Š” ๊ฐ€์žฅ ๋จผ์ € ๊ทธ๋ฆฌ๋“œ๋ฅผ ์ ์šฉํ•  ์š”์†Œ์˜ ๋ฐ”๊นฅ ๋ถ€๋ถ„์„ ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. 

grid : ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ํ•ญ๋ชฉ์„ ๋ธ”๋ก ๋ผ๋ฒจ ์š”์†Œ๋กœ ์ง€์ •ํ•œ๋‹ค. 

inline-grid : ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ํ•ญ๋ชฉ์„ ์ธ๋ผ์ธ ๋ผ๋ฒจ ์š”์†Œ๋กœ ์ง€์ •ํ•œ๋‹ค. 

 

 

2๏ธโƒฃ grid-template-columns, grid-template-rows ์†์„ฑ 

grid-template-columns ์†์„ฑ์€ ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ํ•ญ๋ชฉ์„ ๋ช‡๊ฐœ์˜ ์นผ๋Ÿผ, ๋„ˆ๋น„๋กœ ๋ฐฐ์น˜ํ• ์ง€ ์ง€์ •ํ•œ๋‹ค. 

200px 3๊ฐœ 100px ๋†’์ด

 

 

3๏ธโƒฃ fr ๋‹จ์œ„ 

๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์—์„œ ์นผ๋Ÿผ์ด๋‚˜ ์ค„์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ๋•Œ px๋กœ ์ง€์ •ํ•˜๋ฉด ํ•ญ์ƒ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์—๋Š” ์ ์ ˆํ•˜์ง€ ์•Š๋‹ค. 

๋”ฐ๋ผ์„œ ์ƒ๋Œ€์ ์ธ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” fr ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

ex) ๊ฐ™์€ ๋„ˆ๋น„ 

grid-template-colums : 1fr 1fr 1fr;

 

-> repeat() ํ•จ์ˆ˜ 

์œ„์ฒ˜๋Ÿผ ๊ฐ™์€ 1fr๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ repeat() ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 

grid-template-columns : repleat(3, 1fr);

 

 

4๏ธโƒฃ minmax()

minmax() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ค„ ๋†’์ด๋ฅผ ๊ณ ์ •ํ•˜์ง€ ์•Š๊ณ  ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ์‚ฌ์šฉํ•ด์„œ ์œ ์—ฐํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ตœ์†Œ 100px ์ตœ๋Œ€๋Š” auto 

 

5๏ธโƒฃ auto-fill, auto-fit 

auto-fill์ด๋‚˜ auto-fit ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ™”๋ฉด ๋„ˆ๋น„์— ๋”ฐ๋ผ ์นผ๋Ÿผ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 

grid-template-columns : repeat(auto-fit, 200px); -> 200px ์นผ๋Ÿผ์„ ํ™”๋ฉด ๊ฝ‰์ฐจ๊ฒŒ ์ฑ„์šด๋‹ค. 

 

auto-fill์ด๋‚˜ auto-fit์€ ๋ชจ๋‘ ์นผ๋Ÿผ ๊ฐœ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ ˆํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด์ด ๋„“์–ด์ง€๋ฉด ์ปฌ๋Ÿผ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ๋ฐ˜๋Œ€๋กœ ์ข์•„์ง€๋ฉด ์นผ๋Ÿผ์˜ ๊ฐœ์ˆ˜๋„ ์ค„์–ด๋“ ๋‹ค. 

auto-fill์€ ์ปฌ๋Ÿผ์˜ ์ตœ์†Œ ๋„ˆ๋น„๋งŒ ํ‘œ์‹œํ•˜๊ณ  ๋‚จ๋Š” ๊ณต๊ฐ„์€ ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.

auto-fit์€ ํ™”๋ฉด์ด ๋„“์„ ๋•Œ์—๋Š” ๋‚จ๋Š” ๊ณต๊ฐ„ ์—†์ด ๊ฝ‰ ์ฑ„์šด๋‹ค. 

 

 

6๏ธโƒฃ grid-column-gap, grid-row-gap, grid-gap

-> ๊ทธ๋ฆฌ๋“œ ํ•ญ๋ชฉ์˜ ๊ฐ„๊ฒฉ์„ ์ง€์ •ํ•œ๋‹ค. 

grid-column-gap : ์นผ๋Ÿผ๊ณผ ์นผ๋Ÿผ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ์ง€์ •ํ•œ๋‹ค. 

grid-row-gap: ์ค„๊ณผ ์ค„ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ์ง€์ •ํ•œ๋‹ค.

grid-gap: ์นผ๋Ÿผ๊ณผ ์ค„ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ํ•œ๊บผ๋ฒˆ์— ์ง€์ •ํ•œ๋‹ค. 

 

7๏ธโƒฃ ๊ทธ๋ฆฌ๋“œ ๋ผ์ธ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ 

grid-column-start : ์นผ๋Ÿผ ์‹œ์ž‘์˜ ๋ผ์ธ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

grid-column-end : ์นผ๋Ÿผ ๋งˆ์ง€๋ง‰์˜ ๋ผ์ธ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

grid-column : ์นผ๋Ÿผ ์‹œ์ž‘ ๋ฒˆํ˜ธ์™€ ์นผ๋Ÿผ ๋ ๋ฒˆํ˜ธ ์‚ฌ์ด์— / ๋ฅผ ๋„ฃ์–ด ์‚ฌ์šฉํ•œ๋‹ค. 

grid-row-start : ์ค„ ์‹œ์ž‘์˜ ๋ผ์ธ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

grid-row-end : ์ค„ ๋์˜ ๋ผ์ธ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

grid-row : ์ค„ ์‹œ์ž‘ ๋ฒˆํ˜ธ์™€ ์ค„ ๋ ๋ฒˆํ˜ธ ์‚ฌ์ด์— /๋ฅผ ๋„ฃ์–ด ์‚ฌ์šฉํ•œ๋‹ค. 

 

* ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• 

๋นˆ ๊ณต๊ฐ„์—๋Š” . ์‚ฌ์šฉ, ํ•œ์ค„์€ ""๋กœ ๊ตฌ๋ถ„

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90