javascript 使用Styled Components.js覆盖材质UI样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Styled Components.js覆盖材质UI样式相关的知识,希望对你有一定的参考价值。

//For example, to override the AppBar (https://material-ui-next.com/api/app-bar/) root class we can do the following:

// First method (override Material UI classnames):
// 1 - Add the property classes in the AppBar component:
    <AppBar classes={{root: 'my-root-class'}}
// 2 - Override the styles with the styled components:
    styled(AppBar)`
      &.my-root-class {
        z-index: 1500;
      }
    `

//Second method (force specificity):
    styled(AppBar)`
      && {
        z-index: 1500;
      }
    `

//Third method (use a custom classname): 
//1 - Add the classname in the classname property:
    <AppBar className={`my-class ${this.props.otherClassesFromPropertiesWithNeeded}`}
// 2 - Override the styles with the styled components:
    styled(AppBar)`
      &.my-class {
        z-index: 1500;
      }
    `;

//Forth method
const StyledLink = styled(Link).attrs({
  activeClassName: 'active'
})`
  color: black;

  &.active {
    color: blue;
  }
`;
// or extract that magic classname:

const activeClassName = 'active-link'

const StyledLink = styled(Link).attrs({
  activeClassName
})`
  color: black;

  &.${activeClassName} {
    color: blue;
  }
`

以上是关于javascript 使用Styled Components.js覆盖材质UI样式的主要内容,如果未能解决你的问题,请参考以下文章

javascript styled-componentsとhue-rotateで1枚の画像を怠惰にカラフルにするref:https://qiita.com/terrierscript/items/02

React中的CSS——styled-components

如何在 react 和 next js 中使用 Styled 组件创建全局样式,使用 css 文件和 styled 组件的组合是不是更好?

react——css-in-js——styled-components库——定义样式——样式继承——属性传递

使用 styled-components 在组件/元素之间共享样式

styled-components - 测试 createGlobalStyle