#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