reactjs - Material UI - 如何在 JS 中使用 CSS 设置滚动条样式?

标签 reactjs material-ui jss

我真的很讨厌为我的滚动条样式提供一个外部样式表,我想将它与我的根组件上的其余样式一起放入。我已经尝试过这个...

const styles = (theme: Theme) =>
  createStyles({
    scrollBar: {
      '&::-webkit-scrollbar': {
        width: '0.4em'
      },
      '&::-webkit-scrollbar-track': {
        '-webkit-box-shadow': 'inset 0 0 6px rgba(0,0,0,0.00)'
      },
      '&::-webkit-scrollbar-thumb': {
        backgroundColor: 'rgba(0,0,0,.1)',
        outline: '1px solid slategrey'
      }
    }
  });

然后将类添加到根组件 div 中。我正在使用 withStyles HOC 和正在应用的其他样式,所以我知道它正在工作,但我不知道如何获取滚动条样式。有什么办法可以做到这一点吗?

<div className={classes.scrollBar} />

最佳答案

由于您想在全局范围内执行此操作,因此您可能需要遵循CssBaseline其源代码为:https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/CssBaseline/CssBaseline.js

const styles = theme => ({
  '@global': {
    '*::-webkit-scrollbar': {
      width: '0.4em'
    },
    '*::-webkit-scrollbar-track': {
      '-webkit-box-shadow': 'inset 0 0 6px rgba(0,0,0,0.00)'
    },
    '*::-webkit-scrollbar-thumb': {
      backgroundColor: 'rgba(0,0,0,.1)',
      outline: '1px solid slategrey'
    }
  }
});

看起来要使用的顶级/全局选择器是@global

关于reactjs - Material UI - 如何在 JS 中使用 CSS 设置滚动条样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53772429/

相关文章:

reactjs - NX Monorepo 使用一个 UI 组件库,具有多个具有不同主题的应用程序

javascript - 我该如何正确设置我的 reducer ?

reactjs - 无法覆盖深层嵌套组件的样式(Material-UI Jss Styling)

css - 无法更改 Material ui中文本字段的字体大小

reactjs - Material-UI - 支持 babel-plugin-react-css-modules 和 rtl app

css - MUI 类中的样式元素

javascript - 使用 useContext 时 props.history 未定义?

javascript - 为什么在这个简单的例子中 `this.refs` 会返回 undefined?

javascript - 通过 onClick 图像关闭material-ui对话框

javascript - 将 material-ui 为子组件生成的样式放在为父组件生成的样式之后?