问题:material-ui网格内的中心组件

我想使用相同的卡片并使它们居中对齐,我搜索并尝试了一些解决方案,但它们都只对齐组件网格,而不是组件内容本身(我需要它们与边框和它们本身的距离相等)。

在此处输入图像描述在此处输入图像描述

我正在使用此代码(https://codesandbox.io/embed/32o8j4wy2q):

<Grid
      container
      spacing={0}
      direction="column"
      alignItems="center"
      justify="center"
      style={{ minHeight: '80vh' }}>
      <Grid container item xs={12} spacing={8}>
        <Grid item xs={6}>
          <Card />
        </Grid>
        <Grid item xs={6}>
          <Card />
        </Grid>
        <Grid item xs={6}>
          <Card />
        </Grid>
        <Grid item xs={6}>
          <Card />
        </Grid>
      </Grid>
    </Grid>

卡代码无关紧要,但我只是复制了 material-ui 的示例之一。

另外,如果我将来决定添加或删除一些卡片,我该如何使用 flexboxes(或其他工具)来自动对齐?

解答

我通过在 JSX 代码中添加align="center"来解决它,这意味着 CSS 中的align-items: center解释为此处。

代码是这样完成的:

  <Fragment>
    <Grid
      container
      spacing={24}
      justify="center"
      style={{ minHeight: '100vh', maxWidth: '100%' }}
      >
     <Grid item xs={3} align="center">
        <Card />
      </Grid>
      <Grid item xs={3} align="center">
        <Card />
      </Grid>
      <Grid item xs={3} align="center">
        <Card />
      </Grid>
      <Grid item xs={3} align="center">
        <Card />
      </Grid>
    </Grid>
  </Fragment>
Logo

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐