css - 如何在 MUI 中设置 body 元素的样式

标签 css reactjs material-ui themes

我找不到任何使用 ThemeProvider 定位根元素的方法来自 MUI。

const theme = createMuiTheme({
  palette: {
    background: {
      default: "#00000",
      backgroundColor : 'black',
      backgroundImage: 'url(/bg.jpg)',
      backgroundPosition: 'center',
      height:'100%'
    },
    primary: {
      light: '#757ce8',
      main: '#fff',
      dark: '#002884',
      contrastText: 'grey',
    },
  },
});

最佳答案

Material-UI v5
您可以通过覆盖 MuiCssBaseline 来更改正文样式createTheme() 中的样式:

import CssBaseline from "@mui/material/CssBaseline";
import darkScrollbar from "@mui/material/darkScrollbar";
import { createTheme, ThemeProvider } from "@mui/material/styles";

const theme = createTheme({
  components: {
    MuiCssBaseline: {
      styleOverrides: {
        body: {
          ...darkScrollbar(),
          color: "darkred",
          backgroundColor: "grey",
          "& h1": {
            color: "black"
          }
        }
      }
    }
  }
});

export default function GlobalCssOverride() {
  return (
    <ThemeProvider theme={theme}>
      <CssBaseline />
      <Content />
    </ThemeProvider>
  );
}
Edit GlobalCssOverride Material Demo (forked)
Material-UI v4
您可以将样式应用于 body使用 @global class 像这样:
const useGlobalStyles = makeStyles({
  "@global": {
    body: {
      backgroundColor: "tomato"
    }
  }
});
const theme = createMuiTheme({});

function MyThemeProvider({ children }) {
  useGlobalStyles();
  return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
}

function App() {
  return (
    <MyThemeProvider>
      <Button variant="contained" color="primary">
        Button
      </Button>
    </MyThemeProvider>
  );
}
如果您通过 create-react-app 创建元素,您还可以使用 css/scss 模块来全局设置任何元素的样式:
/* styles.css */
body {
  color: white;
  font-size: 15px;
}
import React from "react";
import Button from "@material-ui/core/Button";
import "./styles.css";

function App() {
  return (
    <Button variant="contained" color="primary">
      Hello World
    </Button>
  );
}
现场演示
Edit 64705335/how-to-style-body-element-in-materialui

关于css - 如何在 MUI 中设置 body 元素的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64705335/

相关文章:

css - Minifier 无法识别回车

html - 5 张图片的过渡

jquery - 使用 jQuery 操作可滚动的 div

javascript - 找不到模块 : Can't resolve './components' while import multiples function components

javascript - 如何使用 React-Router 默认显示路由

javascript - 提交按钮会删除 Material ui 表中的所有复选框

html - css:无法增加定价页面

javascript - redux-thunk 将调度传递给另一个函数?

reactjs - Material-UI Outlined 输入标签对齐不正确

material-ui - Material UI react 选择值未在退格键上清除