next.js 如何使用Material UI创建自定义断点而不更改主题?

ttygqcqt  于 2023-06-22  发布在  其他
关注(0)|答案(2)|浏览(107)

在处理响应性时,我有一个关于断点的问题。我使用的是Material UI,它有断点,你可以在断点处启用不同的CSS样式。这些是预定义的,如xs,xl,md等。我想在自定义像素值处设置断点。有没有什么方法可以在不修改主题的情况下轻松地在组件中做到这一点?
如果不能做到这一点,在不改变主题的情况下,什么是好的替代方案?

q5iwbnjs

q5iwbnjs1#

你可以创建另一个主题,与前一个相同的值如果需要,但具有更新的breakpoints属性,并在任何你想要的地方使用它,你只需要在其中 Package 你想要的内容,例如:

const newTheme = createMuiTheme({
  //...
  breakpoints: {
    // update
  },
});

不要忘记从mui导入createMuiThemeThemeProvider

<ThemeProvider theme={newTheme}>
     <div>..</div>
</ThemeProvider>
jhiyze9q

jhiyze9q2#

您可以使用两种方法在不更改MUI主题的情况下自定义断点。

*传递内联断点值。例如👇

import Box from '@mui/material/Box'

<Box maxWidth={600}>
  ...
</Box>

*创建可重用的自定义断点对象。例如👇

import Box from '@mui/material/Box'

const customBreakPoints = {
  A: 0,
  B: 600,
  C: 1200,
  D: 1500,
}

<Box maxWidth={customBreakPoints.B}>
       ...
</Box>

相关问题