Material-ui: [๊ทธ๋ฆฌ๋“œ] ์ปจํ…Œ์ด๋„ˆ ๋ฐ ์Šคํฌ๋กค๋ฐ”์˜ ์ถ”๊ฐ€ ๋„ˆ๋น„

์— ๋งŒ๋“  2017๋…„ 07์›” 19์ผ  ยท  49์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mui-org/material-ui

<Grid container> ๋Š” ๊ฐ„๊ฒฉ ํฌ๊ธฐ์˜ ์ ˆ๋ฐ˜์œผ๋กœ ๋ถ€๋ชจ๋ฅผ ๋„˜์–ด ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.
์—ฌ๋ถ„์˜ ๋„ˆ๋น„๋ฅผ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ๊ฐ„๊ฒฉ์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

mobile-padding

๋‹ค์Œ์€ ์ž‘๋™ํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค : https://codesandbox.io/s/Y8nzGm5W.
๊ณต๋ฐฑ์ด์—†๋Š” ์œ ์‚ฌํ•œ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค : https://codesandbox.io/s/NxvYxvQpL.

bug ๐Ÿ› Grid important

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ xs = {12}๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
<Grid container spacing={3} xs={12}>

๋ชจ๋“  49 ๋Œ“๊ธ€

flexboxgrid ์—์„œ
๋‚˜๋Š” ๋ถ€ํŠธ ์ŠคํŠธ๋žฉ์ด ๋ฌด์—‡์„ํ•˜๋Š”์ง€ ํ™•์ธํ–ˆ๋Š”๋ฐ,์ด ๊ฐ„๊ฒฉ ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์„ธ ๊ฐ€์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ„๊ฒฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  spacing={0} ์‚ฌ์šฉ์ž ์˜์—ญ์—์„œ ๊ตฌํ˜„ํ•˜๋ฉด์ด๋ฅผ ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์†Œํ•œ ๊ณต๋ฐฑ ๊ฐ’์œผ๋กœ ๋ถ€๋ชจ์— ํŒจ๋”ฉ ์ถ”๊ฐ€ : https://codesandbox.io/s/WnpKlQ32n
    <div style={{ padding: 20 }}>
      <Grid container spacing={40}>
  • ๋ถ€๋ชจ์—๊ฒŒ overflow-x: hidden; ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ๋Œ€์•ˆ์„ ์ƒ๊ฐํ•  ์ˆ˜ ์—†์–ด์„œ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ๊ฐ„๊ฒฉ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ๋ชฉ์†Œ๋ฆฌ๋ฅผ ๋†’์ด์‹ญ์‹œ์˜ค :).

๋‚˜์—๊ฒŒ๋Š” spacing={0} ์ด ๊ธฐ๋ณธ ๋™์ž‘์ด์–ด์•ผํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ material-ui๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” <Grid /> ์˜ ๋ฒ„๊ทธ๋กœ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€.

@hboylan ์ด ์ œํ•œ์— ๋Œ€ํ•ด ์—ด๋ฆฐ ๋ชจ๋“  ๋ฌธ์ œ์— ๋น„์ถ”์–ด ๋ณผ ๋•Œ ๊ถ๊ธˆํ•ดํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค! API ์‚ฌ์šฉ ๋ถ„์„ ๐Ÿ“ˆ์— ์•ก์„ธ์Šคํ–ˆ์œผ๋ฉดํ•ฉ๋‹ˆ๋‹ค.

waiting for users upvotes ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด spacing={0} ์„ ํ˜ธํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด์ด ๋ฌธ์ œ๋ฅผ ์ฐฌ์„ฑ ํ•ด์ฃผ์„ธ์š”. ์šฐ๋ฆฌ๋Š” ์ฐฌ์„ฑ ํˆฌํ‘œ ์ˆ˜์— ๋”ฐ๋ผ ๋…ธ๋ ฅ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

8 ๊ฐœ ์ด์ƒ์˜ ์ค‘๋ณต ๋ฌธ์ œ๋Š” ๊ฐ•๋ ฅํ•œ ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค. ์ด ์ œํ•œ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ์„ ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค๋ช…ํ•˜์‹  ๋‘ ๋ฒˆ์งธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ๋•Œ์ฃผ์˜

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ Grid-container-Component์— ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ตœ์‹  ์ •๋ณด:
=> ์–ด๋ฆฌ์„์€ ๋‚˜;) ๋ฌผ๋ก  : ์šฐ๋ฆฌ๋Š” ๊ณต๊ฐ„์„ ์žƒ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์˜ spacing={0} ๋˜๋Š” overflowing-x ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ material-ui @ next ์—์„œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ญ”๊ฐ€ ๋น ์กŒ๋‚˜?

flexboxgrid ( @oliviertassinari ๊ฐ€ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ํ–ˆ์Œ )์—๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋Š” ํฌํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/kristoferjoseph/flexboxgrid/issues/144#issuecomment -321694572 ์ €๋Š” ์ฝ”๋“œ๋ฅผ ํŒŒ์ง€ ์•Š์•˜์ง€๋งŒ Grid์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์—์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฑ„ํƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ ์šฐ๋ฆฌ์˜ ๋†€๋ผ์›€์„ ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๊ฒƒ์€ ์ตœ์‹  material-next ๋ฒ„์ „์—์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์—†์ด ์ข…๋ฃŒ ๋œ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฑฑ์ •์ž…๋‹ˆ๋‹ค.
๋”์šฑ ๊ฑฑ์ •์Šค๋Ÿฌ์šด ๊ฒƒ์€์ด ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹  "์ œํ•œ"์— ๋Œ€ํ•ด ๋ฌธ์„œ์— ์ถ”๊ฐ€ ๋œ ํ…์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฒ„๊ทธ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์— ๊ด€ํ•œ ์ ˆ์ฐจ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๊ทธ ์ž๋ฆฌ์—์„œ ๊ฒฐ์ •๋ฉ๋‹ˆ๊นŒ?


1.0.0 ํ”„๋ฆฌ ๋ฆด๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค.
https://github.com/mui-org/material-ui/issues?q=is%3Aopen+is%3Aissue+milestone%3Av1.0.0-prerelease

์ด ์Šค๋ ˆ๋“œ์—์„œ ์™ธ์‚ฝํ•˜๋ฉด 1.0.0- ํ”„๋ฆฌ ๋ฆด๋ฆฌ์ฆˆ์— ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊นŒ์š”? (์˜ˆ๋ฅผ ๋“ค์–ด์ด ๋ฌธ์ œ)

์ง€๊ธˆ๊นŒ์ง€ github์—์„œ ๋ช‡ ๊ฐœ์˜ ์œ ํšจํ•œ material-ui ๋ฒ„๊ทธ๋ฅผ ๋‹ซ์•˜์œผ๋ฉฐ ๋ฌธ์„œ์— ํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹  ์ˆ˜์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ?

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๊ฑฑ์ •๋˜๋Š” ๊ฒƒ์€ ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ํ™”๋‚˜๊ฒŒํ–ˆ๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  / ๋˜๋Š” ๋‚ด๊ฐ€ ์กฐ๊ธˆ ๊ฐ•ํ•ด์ง€๋ฉด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@kmlx

1.0.0- ํ”„๋ฆฌ ๋ฆด๋ฆฌ์ฆˆ ๋ฒ ํƒ€์—๋Š” ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊นŒ์š”?

ํ™•์‹คํžˆํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์ฐธ์กฐ : ๋ฌธ์ œ ). ๊ทธ๋ฆฌ๊ณ  1.0.0-rc.x์—๋„ ๋ฒ„๊ทธ๊ฐ€์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ด์•ผํ•˜์ง€๋งŒ API๋Š” ๋Œ€๋ถ€๋ถ„ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

@ryanflorence ์˜ ํŠธ์œ— ํƒ€์ด๋ฐ์ด ์™„๋ฒฝํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋ถˆ์พŒ๊ฐ์„ ์ฃผ์—ˆ๊ฑฐ๋‚˜ ์กฐ๊ธˆ ๊ฐ•ํ•ด์ง€๋ฉด ์‚ฌ๊ณผํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์กฐ๊ธˆ ๊ฐ•ํ•œ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์‚ฌ๊ณผํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ฌด์—‡์„ ๋งํ•˜๊ณ  ์‹ถ์€์ง€, ์–ด๋–ป๊ฒŒ ๋งํ•˜๊ณ  ์‹ถ์€์ง€ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”. (๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ์˜คํ”ˆ ์†Œ์Šค์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐ€์น˜๋ฅผ ์–ป์—ˆ๋Š”์ง€์™€ ์–ผ๋งˆ๋‚˜ ๊ธฐ์—ฌํ–ˆ๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋ถˆ๋งŒ์ด ์–ด๋–ค ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜์‹ญ์‹œ์˜ค.)

๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์€ ๋ฌธ์„œ์— ์ œ๊ณต๋œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ CSS์— ๊ฐ‡ํ˜€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ œํ•œ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฟก๋ฟก

์‹œ๊ฐ„์„๋‚ด์–ด ๋‹ต์žฅ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ™•์‹คํžˆํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (๋ฌธ์ œ ์ฐธ์กฐ). ๊ทธ๋ฆฌ๊ณ  1.0.0-rc.x์—๋„ ๋ฒ„๊ทธ๊ฐ€์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ด์•ผํ•˜์ง€๋งŒ API๋Š” ๋Œ€๋ถ€๋ถ„ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

API๊ฐ€ ๋Œ€๋ถ€๋ถ„ ์•ˆ์ •์ ์ด๋ผ๋Š” ์†Œ์‹์„ ๋“ฃ๊ณ  ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ”„๋กœ์ ํŠธ ๋“ , ๋‚˜๋Š” ๋‹ค์–‘ํ•œ ๋ฏธ ๋ฐœ๊ฒฌ ๋ฌธ์ œ๊ฐ€์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๋ฌธ์ œ ์ž์ฒด๊ฐ€ ์ข…๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด์ „ ๋ฉ”์‹œ์ง€์— ๋”ฐ๋ผ์ด flexboxgrid ํฌํฌ ๊ฐ€ ์†”๋ฃจ์…˜์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” 8 ์›” 1 ์ผ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ์ปค๋ฐ‹์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์•„์•ผํ•˜๋Š” ์ปค๋ฐ‹์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œํ™” ๋œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (ํ˜„์žฌ ๋ชจ๋ฐ”์ผ ์ƒํƒœ์ด๋ฏ€๋กœ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์—†์Œ)์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์•„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ btw๊ฐ€ ์—†์œผ๋ฉฐ ๋‚ด ์†”๋ฃจ์…˜์€ ๋‚ด ์ฝ”๋“œ์˜ ๊ฐ <Grid container /> ๋˜๋Š” <Grid item container /> ๊ตฌ์„ฑ ์š”์†Œ์—์„œ spacing={0} ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์—ˆ์Šต๋‹ˆ๋‹ค.

@kmlx beta.22๋กœ ์ œ์•ˆ ๋œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜๊ตฌ์  ์ธ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€๋ณด๊ณ ํ•˜์‹ญ์‹œ์˜ค.

spacing={0} ํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฐ„๊ฒฉ์„ ์›ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‘ ๊ฐœ์˜ ์—ด์ด ํ‘œ์‹œ๋œ ์ค‘๊ฐ„ ์ค‘๋‹จ ์  ์œ„์— ํŒจ๋”ฉ ๋งŒ ์ถ”๊ฐ€ํ•˜๋„๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

const styles = theme => ({
  dividerRight: {
    [theme.breakpoints.up('md')]: {
      paddingRight: theme.spacing.unit * 0.5
    }
  },
  dividerLeft: {
    [theme.breakpoints.up('md')]: {
      paddingLeft: theme.spacing.unit * 0.5
    }
  },
});

๊ทธ๋Ÿฐ ๋‹ค์Œ ์™ผ์ชฝ ์—ด์— className={classes.dividerRight} ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  (๊ตฌ๋ถ„์„ ์ด ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฏ€๋กœ) className={classes.dividerLeft} ๋ฅผ ์˜ค๋ฅธ์ชฝ ์—ด์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ์— ๋‹ค์Œ CSS๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

.grid-container {
  width: 100% !important;
  margin: 0 !important;
}

@martjoao ๋‚˜๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์€ ๋‚ด ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€ ์ฃผ์œ„์— ์›์น˜ ์•Š๋Š” ํŒจ๋”ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค (๋‚ด๋ถ€ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์™€ ๋™์ผํ•ด์•ผ ํ•จ).

์ด๊ฒƒ์— ๋Œ€ํ•œ ๋‚˜์˜ ๋น ๋ฅด๊ณ  ๋”๋Ÿฌ์šด ํ•ด๊ฒฐ์ฑ…์€ body ์š”์†Œ์— overflow-x: hidden; ๋ฅผ ๋˜์ง€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠน์ • ๋ธŒ๋ผ์šฐ์ € (ํŠนํžˆ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €)์—์„œ ์Šคํฌ๋กคํ•˜๋ฉด ๊ฐ€๋กœ ์Šคํฌ๋กค ๋ง‰๋Œ€๊ฐ€ 1 ์ดˆ ๋™์•ˆ ๊นœ๋ฐ•์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์Šคํฌ๋กค ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋‚˜์—๊ฒŒ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


ํŽธ์ง‘ํ•˜๋‹ค:

์œ„์—์„œ ์–ธ๊ธ‰ ํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด ์ž˜๋ชป์ด์•ผ.

<Grid> ์˜ ์˜๋„ ๋œ ์šฉ๋„๊ฐ€ _not_ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ / ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ (์˜ˆ : ์•ฑ ๋ฐ”, ์‚ฌ์ด๋“œ ๋ฐ”, ์ฝ˜ํ…์ธ  ์˜์—ญ ๋“ฑ)์ด๋ผ๋Š” ์ ์— ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ทธ๋ฆฌ๋“œ (์˜ˆ : ํ”„๋กœํ•„ ๋ชฉ๋ก)์— ์ฝ˜ํ…์ธ  ์š”์†Œ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์—ผ๋‘์—๋‘๊ณ  ์—ฌ๋ฐฑ์ด์žˆ๋Š” ์š”์†Œ๋ฅผ ๊ฐ„๊ฒฉ์„ ๋‘์–ด ๋‚ด์šฉ ์˜์—ญ์— ์˜ํ–ฅ์„์ฃผ์ง€ ์•Š๋„๋กํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ๊ฒฝ์ƒ‰์ด๋‚˜ ํ…Œ๋‘๋ฆฌ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์„œ์—์„œ๋Š” <Grid> ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” "Layout"์ด๋ผ๋Š” ์ „์ฒด ์„น์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ <Grid> ์š”์†Œ๋ฅผ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์— ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค๊ณ  ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ๋ฐ˜ ์ง๊ด€์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  UI ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ (80 % ์‚ฌ๋ก€, @oliviertassinari๋กœ ๊ฐ„์ฃผ ๋จ)์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜๊ณ  ์ฝ˜ํ…์ธ  ํ•ญ๋ชฉ ๊ทธ๋ฆฌ๋“œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด ๋‘ ๋ฒˆ์งธ ๊ด€์‹ฌ์‚ฌ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์„œ๋Š”์š”์†Œ๋Š” ์‚ฌ์šฉ์„ ์„ค๋ช…ํ•˜๋Š” "Layout"์ด๋ผ๋Š” ์ „์ฒด ์„น์…˜์„ ํฌํ•จํ•˜์—ฌ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์— ์‚ฌ์šฉ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค..

@wmadden ๋ ˆ์ด์•„์›ƒ ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ฑ / ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์— ๊ด€ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ์ง๊ด€์— ๋ฐ˜ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ 

๋ฐ˜ ์ง๊ด€์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

80 % ์ผ€์ด์Šค๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค

๋™์˜ํ•ฉ๋‹ˆ๋‹ค. # 10986์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@wmadden ๋ ˆ์ด์•„์›ƒ ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ฑ / ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์— ๊ด€ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ตฌ์„ฑ ์š”์†Œ ๋ฐ๋ชจ๊ฐ€ ์•„๋‹ˆ๋ผ "๋ ˆ์ด์•„์›ƒ"์ด๋ผ๋Š” ์ตœ์ƒ์œ„ ์„น์…˜์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ :

๊ทธ๋ฆฌ๋“œ๋Š” ๋‹ค์–‘ํ•œ ๋””์ž์ธ์— ๊ฑธ์ณ ์œ ์—ฐ์„ฑ์„ ํ—ˆ์šฉํ•˜๋ฉด์„œ ๋ ˆ์ด์•„์›ƒ๊ฐ„์— ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์˜ ๋ฐ˜์‘ ํ˜• UI๋Š” 12 ์—ด ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ ˆ์ด์•„์›ƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์Œ์˜ ์—ฌ๋ฐฑ ์ œํ•œ์ด ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ์ง๊ด€์— ๋ฐ˜ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ 

UI ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ด๋‹น ๋ชฉ์ ์„์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ "๋ ˆ์ด์•„์›ƒ"์ด๋ผ๋Š” ์ตœ์ƒ์œ„ ๋ฌธ์„œ ์ฃผ์ œ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฆฌ๋“œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์— ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด ์‚ฌ๋žŒ๋“ค์˜ ์ง๊ด€์— ๋ฐ˜ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค.

React์—์„œ๋Š” ์ž์‹์ด ๋ถ€๋ชจ์—๊ฒŒ ํฌํ•จ๋œ๋‹ค๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ๊ฐ€์ •์ž…๋‹ˆ๋‹ค. <Grid> ์˜ ๋งˆ์ด๋„ˆ์Šค ๋งˆ์ง„์€ ๋ถ€๋ชจ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด ํ™•์žฅํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ๊ฐ€์ •์„ ๊นจ ๋œจ๋ฆฌ๋ฉฐ, ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์ธ์ง€ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ๊ทธ ํ–‰๋™์ด ๋ฒ„๊ทธ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

@ vedant1811 ์Œ์ˆ˜ ์—ฌ๋ฐฑ์€ ๋” ์ด์ƒ ๊ธฐ๋ณธ ๋™์ž‘์ด ์•„๋‹™๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ ๋ ˆ์ด์•„์›ƒ์— ๊ทธ๋ฆฌ๋“œ ์—†์ด๋„ ๊ทธ๋ฆฌ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@oliviertassinari ์ด๊ฒƒ์„ ๋ณ€๊ฒฝ ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ? ๋‚ด ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๋ถ€๋ชจ ์š”์†Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— overflow: hidden; ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

@saricden ์˜ˆ, spacing ์†์„ฑ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๊ทธ๋ฆฌ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š”์ด ๊ธฐ๋Šฅ์ด ์—†์œผ๋ฏ€๋กœ ์‚ฌ๋žŒ๋“ค์ด ๋งˆ์ง„์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ๋งŒ๋‚ฌ์–ด์š”. ๋˜ ๋‹ค๋ฅธ ํ•ดํ‚ค์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ดœ์ฐฎ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ์— ๋„ˆ๋น„ : 'calc (100 %-16px)'๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ์ค‘๋‹จ ์ ์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๋„ˆ๋น„๋กœ ํ”Œ๋ ˆ์ดํ•˜๋ฉด์ด๋ฅผ ๊ฐœ์„  ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ™”๋ฉด์ด ๋” ๋„“์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ํ›จ์”ฌ ๋œ ๋ˆˆ์— ๋„๊ฒŒ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ xs = {12}๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
<Grid container spacing={3} xs={12}>

์ด ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. spacing={...} ํ•˜๋ฉด ๊ฐ€๋กœ ์Šคํฌ๋กค์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. xs={12} ์ถ”๊ฐ€ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

_ ๊ฐ€์น˜๊ฐ€์žˆ๋Š” ๋ถ€๋ถ„ : _
Material-UI 4.5.0์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ๋‚˜๋Š” ๋ฐฉ๊ธˆ ์ด๊ฒƒ์„ ์•Œ์•„ ์ฐจ๋ฆฌ๊ณ  Material-UI๋ฅผ 1 ๋…„ ๋„˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋ฐฑ ์Šคํƒ€์ผ ์™ธ์— ์œ„์˜ xs={12} ์ œ์•ˆ์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ (์˜ค๋ฅธ์ชฝ์— ์ถ”๊ฐ€ ์—ฌ๋ฐฑ์ด ํ‘œ์‹œ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—) ๋‹ค์Œ์€ ์›ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

const useStyles = makeStyles(theme => ({
  grid: { margin: theme.spacing(0) }
}));
...
<Grid container spacing={2} xs={12} className={classes.grid}>

_ํ•˜์ง€๋งŒ ..._ ์ฝ˜์†”์— ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ  : ์‹คํŒจ ์†Œํ’ˆ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค ์†Œํ’ˆ xs ์˜ Grid ์‚ฌ์šฉ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค item .

๊ทธ๋ž˜์„œ ๋Œ€์‹ ์— ์‚ฌ์šฉ xs={12} ์šฉ๊ธฐ์—, ๋‚˜๋Š”์— ์ถ”๊ฐ€ ๋œ ์Šคํƒ€์ผ์„ ๋ณต์‚ฌ makeStyles() . ๋‹ค์Œ์€ ์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋ฅผ ์œ„ํ•ด ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

const useStyles = makeStyles(theme => ({
  grid: {
    margin: theme.spacing(0),
    flexGrow: 0,
    maxWidth: `100%`,
    flexBasis: `100%`
  }
}));
...
<Grid container spacing={2} className={classes.grid}>

์ด ์ž‘์—…์„ ๋งŒ๋“  ๊ฒƒ์€ maxWidth : 100% ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ๋„ˆ๋น„๊ฐ€ ์ตœ๋Œ€๋กœ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ํŠน์ • maxWidth ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ ์—ฌ๋ฐฑ์„ 0์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์Šคํƒ€์ผ์ด ์ง€์ •๋œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์Šคํƒ€์ผ ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ :

const GridContainer = styled(Grid)`
  margin: 0;
`;

์ด์ œ ์ถ”๊ฐ€ ๋„ˆ๋น„๋ฅผ ์ƒ์„ฑํ•˜๋Š” Grid ๊ตฌ์„ฑ ์š”์†Œ ๋Œ€์‹  GridContainer๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

      <GridContainer
        container
        direction="column"
        justify="center"
        alignItems="center"
        xs={12}
        spacing={2}
      >

๋‚˜๋Š”100 % ๋„ˆ๋น„ ๋ฐ ๋†’์ด ๋ž˜ํผ ๋‚ด๋ถ€์˜ ๊ตฌ์„ฑ ์š”์†Œ์ด์ง€๋งŒ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ 100vw ์ด์ƒ์œผ๋กœ ๋Š˜๋ฆฌ๊ณ  ๊ฐ€๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ์ผ์œผํ‚ค๋Š”์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ ๋งˆ์ด๋„ˆ์Šค ๋งˆ์ง„์ด ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ? ํŽ˜์ด์ง€๋ฅผ ๊ฒฝ๊ณ„๋กœ ๋‹ค์‹œ ๊ฐ€์ ธ ์˜ค๋ ค๋ฉด ๊ธฐ๋ณธ ์Šคํƒ€์ผ์„ ์žฌ์ •์˜ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

const NormalizedGridContainer = withStyles(theme => ({
  root: {
    width: '100%',
    margin: '0px',
    padding: `${(spacing/2) * 8}px`
  }
}))(Grid);

IMO๋Š” ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ž˜ํผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์กฐ๊ธˆ ๋” ๋ถ„๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์Šคํฌํ†ฑ ํฌ๊ธฐ์—์„œ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์˜†์œผ๋กœ ๋ป—์–ด ์žˆ๊ณ  xs = {12}๋กœ ๊ณ ์ •ํ•˜๋ฉด ์ด์ƒํ•˜๊ฒŒ ํŒจ๋”ฉ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” ์ˆ˜์ •์ด @martjoao ์˜ ์†”๋ฃจ์…˜์ฒ˜๋Ÿผ
gridSpacingFix: { '<strong i="7">@media</strong> (max-width:600px)': { width: '100% !important', margin: '0 !important', }, },

๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

body { margin: 0; padding: 0; }

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

const theme = createMuiTheme({
  overrides: {
    MuiGrid: {
      container: {
        width: "100% !important",
        margin: "0 !important"
      }
    },
  }
});

์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ๋ฌธ์ œ๋„ ์ง๋ฉดํ•˜๊ณ  ์žˆ์—ˆ๊ณ  material-ui ์—์„œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ธ์ง€ ๊ถ๊ธˆํ•œ ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ์–‘์„๋ณด๊ณ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/evgenyrodionov/flexboxgrid2/commit/37e02fec7674495782098fb8e9a2c6d20a2786e1#diff -4b62e0ae269a54df45ab5eab9cb7821b?

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐ˜ ์ˆ˜์ •์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

<Container maxWidth={false}>
  <Grid container spacing={3}>
    <Grid item />
  </Grid>
</Container>

์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ xs = {12}๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
<Grid container spacing={3} xs={12}>

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค ... ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ xs = {12}๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
<Grid container spacing={3} xs={12}>

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค ... ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๊ต‰์žฅํ•œ ์†”๋ฃจ์…˜! ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ๋„ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ + xs ๊ฒฝ๊ณ ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด container item ์„ ์ถ”๊ฐ€ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

overflow-x: hidden ์ถ”๊ฐ€ ํ›„ ๋ฌธ์ œ ํ•ด๊ฒฐ๋จ; ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์™€ ๊ฐ™์ด ์ƒ์œ„์— mui-datatable์ด ์žˆ์œผ๋ฏ€๋กœ overflowX: 'hidden' ์„ ์ปจํ…Œ์ด๋„ˆ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

const theme = createMuiTheme({
  overrides: {
    MuiGrid: {
      container: {
        width: "100% !important",
        margin: "0 !important"
      }
    },
  }
});

์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ €์—๊ฒŒ ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค.

_ margin 0 !important ๋ฅผ) ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

const theme = createMuiTheme({
  overrides: {
    MuiGrid: {
      container: {
        width: "100% !important",
        // margin: "0 !important"
      }
    },
  }
});

์ด ui ํ”„๋ ˆ์ž„ ์›Œํฌ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ˆ์˜

๊ทธ๋ฆฌ๋“œ๋Š” ์–ด๋Š ๊ณณ์— ๋‚˜ ์†ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํŠธ ์ŠคํŠธ๋žฉ์€ ๋ฌธ์ œ์—†์ด ์–ด๋””์„œ๋‚˜ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งˆ์ง„ ๋ฒ„๊ทธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์œ„ํ•œ ์˜คํ”„์…‹๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋ ๊นŒ์š”?

์•ˆ๋…•ํ•˜์„ธ์š”.

overflow-x: hidden ์ถ”๊ฐ€ ํ›„ ๋ฌธ์ œ ํ•ด๊ฒฐ๋จ; ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์™€ ๊ฐ™์ด ์ƒ์œ„์— mui-datatable์ด ์žˆ์œผ๋ฏ€๋กœ overflowX: 'hidden' ์„ ์ปจํ…Œ์ด๋„ˆ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์˜ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์Šคํฌ๋กค ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. overflow-x : ์ˆจ๊น€์€ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹™๋‹ˆ๋‹ค.

MuiGrid : {
์ปจํ…Œ์ด๋„ˆ : {
๋„ˆ๋น„ : "100 %! ์ค‘์š”",
์—ฌ๋ฐฑ : "0! ์ค‘์š”"
}
},
๋ฟก ๋นต๋€จ
์ด๋Š” ์ „์ฒด ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ•์ œ๋กœ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•œ ๊ณณ์—์„œ ๊ณ ์น˜๊ณ  ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊นฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์ถฉ๊ฒฉ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ €๋Š” MUI๋ฅผ 2 ๋…„ ์ •๋„ ์‚ฌ์šฉํ•ด ์™”์ง€๋งŒ ์ „์—๋Š” ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์•„์ง ๋ฐํ˜€์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

const theme = createMuiTheme({
  overrides: {
    MuiGrid: {
      container: {
        width: "100% !important",
        margin: "0 !important"
      }
    },
  }
});

์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜์€ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋„ˆ๋ฌด ์˜ค๋žซ๋™์•ˆ ์ง„ํ–‰๋˜์–ด ์™”์œผ๋ฉฐ ์ฆ‰์‹œ ์ˆ˜์ •ํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ๋ฌธ์„œ์˜ ์ผ๋ถ€๊ฐ€๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ overflow-x: hidden ๋ฅผ) ์‚ฌ์šฉํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์†”๋ฃจ์…˜ overflow-x : ๋ถ€๋ชจ์˜ ์ˆจ๊ฒจ์ง„ ์†์„ฑ

์ด๊ฒƒ์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ํ•ดํ‚น์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.)

const useStyles = makeStyles((theme) => ({
 root: {
    '& .MuiGrid-root': {
      width: 'calc(100% - 2px)',
    },
  },
// [...]

๊ทธ 2px๋Š” ๋‚ด ๊ทธ๋ฆฌ๋“œ ์ •์˜ ์•„๋ž˜ ์–ด๋”˜๊ฐ€์— ์ถ”๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ ์‹ค์ œ ๊ฐ’์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰