Атрибут расстояния между сетками пользовательского интерфейса материала не работает

#reactjs #material-ui

Вопрос:

Я пытаюсь визуализировать некоторые карты, используя сетки пользовательского интерфейса Material, но когда я пытаюсь добавить расстояние между картами, это не работает. Я просмотрел документацию и некоторые ответы здесь по переполнению стека, но все еще не могу решить проблему. Я новичок, и мне кажется, что я совершаю какую-то глупую ошибку, но я не могу найти ошибку.

Вот мой код

 import React from 'react'
import { Grid, makeStyles,Box,Card,CardContent} from '@material-ui/core'


const useStyles =makeStyles(theme=>({
    root:{
      flexGrow:1
    },
  
    heading:{
       fontSize:"clamp(74px,9vw,120px)",
       margin:"6px auto",
       opacity:"0.5",
       color:"#dee3e4",
       textAlign:"center",
       fontFamily:"Poppins,sans-serif"
       
    }, 
}))
function Projects() {
    const { heading,root}=useStyles();
    return (
        <div>
            <h1 className={heading}>Projects</h1>
            <Box m={5}  >
            <Grid container spacing={3} className={root} >  
            
              <Grid sm={12} md={6} lg={3}  >     
                    <Card>
                    <h1>Booksapp</h1>
                    <CardContent>Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    </CardContent>
                  </Card>
               </Grid>
                <Grid  sm={12} md={6} lg={3}>
                  <Card>
                    <h1>Booksapp</h1>
                    <CardContent>Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    </CardContent>
                  </Card>
                </Grid>
                <Grid  sm={12} md={6} lg={3}>
                  <Card>
                    <h1>Booksapp</h1>
                    <CardContent>Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    Lorem, ipsum dolor sit amet consectetur adipisicing eltatis.
                    </CardContent>
                  </Card>
                </Grid>     
            </Grid>
            </Box>
           
        </div>
    )
}

export default Projects
 
 

Ответ №1:

Проблема в том, что вы не передаете item логическую опору элементам сетки. spacing Реквизит определяет расстояние между item компонентами, и, поскольку в разнесенном коде нет элементов сетки, интервал не применяется.

 <Grid container spacing={3} className={root}>
  <Grid item sm={12} md={6} lg={3}>
    <Card>Content</Card>
  </Grid>
</Grid>
 

Редактирование материалов-пользовательский интерфейс-сетки-gb5y4