<Grid container>
๋ ๊ฐ๊ฒฉ ํฌ๊ธฐ์ ์ ๋ฐ์ผ๋ก ๋ถ๋ชจ๋ฅผ ๋์ด ํ์ฅ๋ฉ๋๋ค.
์ฌ๋ถ์ ๋๋น๋ฅผ ๋นจ๊ฐ์์ผ๋ก ํ์ํ๊ณ ๊ฐ๊ฒฉ์ 0์ผ๋ก ์ค์ ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋ค์์ ์๋ํ๋ ์์
๋๋ค : https://codesandbox.io/s/Y8nzGm5W.
๊ณต๋ฐฑ์ด์๋ ์ ์ฌํ ์ฝ๋๊ฐ ์์๋๋ก ์๋ํฉ๋๋ค : https://codesandbox.io/s/NxvYxvQpL.
flexboxgrid ์์
๋๋ ๋ถํธ ์คํธ๋ฉ์ด ๋ฌด์์ํ๋์ง ํ์ธํ๋๋ฐ,์ด ๊ฐ๊ฒฉ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ธ ๊ฐ์ง ์ฌ์ฉ ๊ฐ๋ฅํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
spacing={0}
์ฌ์ฉ์ ์์ญ์์ ๊ตฌํํ๋ฉด์ด๋ฅผ ๊ธฐ๋ณธ ๋์์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค. <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}
>
๋๋
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! ์ค์"
}
},
๋ฟก ๋นต๋จ
์ด๋ ์ ์ฒด ํ๋ ์ ์ํฌ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ๋ก ์์ ํ๋ ๊ฒ์ด๋ฉฐ ๊ถ์ฅํ์ง ์์ต๋๋ค. ํ ๊ณณ์์ ๊ณ ์น๊ณ ๋ค๋ฅธ ๊ณณ์์ ๊นฐ ์ ์์ต๋๋ค.
@ manualva7 https://material-ui.com/components/grid/#negative -margin
์ ๋ ์ถฉ๊ฒฉ์ ๋ฐ์์ต๋๋ค. ์ ๋ 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๋ ๋ด ๊ทธ๋ฆฌ๋ ์ ์ ์๋ ์ด๋๊ฐ์ ์ถ๊ฐ ๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ์ค์ ๊ฐ์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฌ์ ํ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ง๋ง xs = {12}๋ฅผ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
<Grid container spacing={3} xs={12}>