【问题标题】:How to set custom spacing margin value in Material UI Grid如何在 Material UI Grid 中设置自定义间距边距值
【发布时间】:2020-12-12 01:20:20
【问题描述】:

我需要在 Material UI 中的 Grid 项目之间设置特定的间距值。 下面是我的代码:

<Grid container spacing={1}>
    <Grid item xs={6}>Node 1</Grid>
    <Grid item xs={6}>Node 2</Grid>
    ...etc
</Grid>

问题是我设置spacing={1} 时的边距比我想要的要大一点。如何为项目之间的边距设置自定义值?

【问题讨论】:

  • 尝试过破坏值?或者使用自定义类甚至内联样式覆盖样式...

标签: css reactjs material-ui


【解决方案1】:

您可以使用自定义类并添加到您的网格中,例如:

grid: {
   margin: '5px'
}

<Grid className={classes.grid}>
   ....
</Grid>

【讨论】:

  • 这会在container网格周围增加边距,项目不会受到影响。
  • 您可以为网格的每个项目添加边距
【解决方案2】:

通过使用 MUI 的 makeStyles() 添加样式和类名

或许这样你就可以做到:

import React from "react";
import { Grid, makeStyles } from "@material-ui/core";
function GridT() {
  const useStyles = makeStyles((theme) => ({
    gridItem: {
      padding: theme.spacing(0.5),
    }
  }));

  const styles = useStyles();

  return (
    <Grid container>
      <Grid className={styles.gridItem} item xs={6}>
        Node 1
      </Grid>
      <Grid className={styles.gridItem} item xs={6}>
        Node 2
      </Grid>
    </Grid>
  );
}

export default GridT;

代码沙盒示例:https://codesandbox.io/s/charming-architecture-qt5p5

【讨论】:

  • 我尝试了十进制值,它不起作用。
  • 好吧,我对它会起作用的印象不好,并没有真正意识到这一点,所以我更新了答案,并附上了工作示例!
  • 这会在container网格周围添加填充,而不是子项
  • 因此,您可以将其应用于子元素,而不是向父元素添加间距,我已经使用代码框示例更新了答案
猜你喜欢
  • 1970-01-01
  • 2020-11-06
  • 2016-04-21
  • 2016-12-04
  • 2011-09-03
  • 1970-01-01
  • 2020-09-30
  • 2021-11-12
  • 1970-01-01
相关资源
最近更新 更多