Material UI Grid Items 不占全宽度

Posted

技术标签:

【中文标题】Material UI Grid Items 不占全宽度【英文标题】:Material UI Grid Items not taking full width available 【发布时间】:2021-10-24 04:46:12 【问题描述】:

我在 Material UI 中使用了嵌套的网格系统,并且网格项目仅采用固定宽度并留下一些空间。当固定空间耗尽时,组件不会挤压其内部的可用空间,而是会破坏 UI。

为了清楚起见,请查看屏幕截图(所有屏幕截图均在 Google Chrome 中截取)。

Outer Grid

Outer Grid Item 1Outer Grid Item 2

Inner Grid System

Now we start to squeeze

UI breaks... But the second component still has the same width as before

外部网格的片段

<Grid container justifyContent="space-evenly" direction=isMd ? "row" : "column">
          <Grid item sx= minWidth: "300px" >
            <Typography>Component coming soon</Typography>
          </Grid>
          <Grid item component=Footer2></Grid>
</Grid>

内部网格的片段

        <Grid
          container
          justifyContent="space-evenly"
          direction=isMd ? "row" : "column"
          gap=6
        >
          <Grid item links=["COMPANY", "About", "Experts and Spokesmodels"]>
            <Listings
              links=["COMPANY", "About", "Experts and Spokesmodels"]
            ></Listings>
          </Grid>
          <Grid item>
            <Listings
              links=[
                "CUSTOMER SERVICE",
                "Contact Us",
                "My Account",
                "Store Locator",
                "Redeem Rewards"
              ]
            ></Listings>
          </Grid>
          <Grid item>
            <Listings
              links=[
                "MORE TO EXPLORE",
                "Beauty Magazine",
                "Tools and Consultations",
                "Offers",
                "#LorealParis"
              ]
            ></Listings>
          </Grid>
        </Grid>

SandBox link

【问题讨论】:

嗨,朱莉娅,欢迎!您能否更新您的问题以包含相关代码 sn-ps(可能是主 Grid 组件和子/子)?我看到你有一个沙盒链接,但我怀疑如果代码在问题中直接可见,你会得到更多回复。 完成.... 请回答或投票,以便它可以覆盖更广泛的受众 【参考方案1】:

Fixed variant

只需在FooterP2.js中删除Grid组件的gap props,为ScopedCssBaseline添加CSS规则并为元素设置maxWidth(例如我设置了800px)。

<ThemeProvider theme=darkTheme>
      <ScopedCssBaseline 
      style= flex: "1 1 auto", maxWidth: "800px" >
        <Grid
          container
          justifyContent="space-evenly"
          direction=isMd ? "row" : "column"
        >

【讨论】:

以上是关于Material UI Grid Items 不占全宽度的主要内容,如果未能解决你的问题,请参考以下文章

./src/App.js 模块未找到:无法解析 xxx 中的“@material-ui/data-grid”

当第一个 Grid 项目是固定宽度时,如何在 Material UI 中左右对齐两个 Grid 项目?

是否可以使用 CSS Grid 代替 Material UI 的网格组件? [关闭]

在 Material UI 中的 <Grid> 上应用 box-shadow

如何使用 Material UI Grid 在 React Admin 中组织 Show 布局

在 React 和 Material-UI 中,如何让我的 Grid 项目占用 100% 的可用水平空间,而不会换行到下一行?