Как установить пользовательское значение интервала в сетке Material UI

#css #reactjs #material-ui

#css #reactjs #материал-пользовательский интерфейс

Вопрос:

Мне нужно установить определенное значение интервала между элементами сетки в Material UI. Ниже приведен код, который у меня есть:

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

Проблема в том, что поле, когда я устанавливаю spacing={1} , немного больше, чем я хочу. Как я могу установить пользовательское значение для поля между элементами?

Комментарии:

1. пробовал сломанные значения? Или перезаписать стили пользовательским классом или даже встроенными стилями…

Ответ №1:

Вы можете использовать пользовательский класс и добавить его в свою сетку, например:

 grid: {
   margin: '5px'
}

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

Комментарии:

1. это добавит поля вокруг container сетки, элементы не будут затронуты.

2. Вы можете добавить поле для каждого элемента сетки

Ответ №2:

Добавив стили и имя класса с помощью makeStyles () MUI

Вероятно, таким образом вы можете это сделать:

 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

Комментарии:

1. Я пробовал десятичные значения, это не работает.

2. Хорошо, у меня было плохое впечатление, что это сработает, я действительно не знал об этом, поэтому я обновил ответ, приведя рабочий пример!

3. Это добавило бы отступы вокруг container сетки, а не дочерние элементы

4. Поэтому вместо добавления интервала к родительскому элементу вы можете применить его к дочерним элементам, я обновил ответ примером codesandbox