如何使用样式化组件覆盖CSS类

时间:2019-05-08 08:56:36

标签: reactjs styled-components

我想使用Styled-Components覆盖ant-tooltip-inner CSS类。

使用正常的import './Tooltip.css',一切正常。

// import './Tooltip.css';            // Overrides
const StyledLayout = styled.div` 

  // Doesn't Work     
  &.ant-tooltip-inner {
    background-color: palevioletred !important;
    color: white !important;
  }

  // Works on other CSS class
  // default is light-blue - check Sidebar menu item in sandbox 
  .ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {
    background-color: purple;
  }
`;

function CoolTooltip() {
  return (
    <StyledLayout>
      ...
    </StyledLayout>
  );
}

我的目标是覆盖项目(ant-tooltip-inner)中所有工具提示的颜色

在此沙箱中,(SidebarTooltip的所有工具提示都需要设置样式,取消注释import "./tooltip.css";即可使用。

Edit Override CssClass

2 个答案:

答案 0 :(得分:0)

工具提示,模态组件或类似组件在SPA之外进行渲染,以提高组件树的渲染性能。

相同的屏幕截图。 enter image description here

在您的情况下,您尝试为组件的单个实例设置样式,而该实例无法通过本地样式进行工作。您可以参考antd文档,也可以全局覆盖它(css文件或文档所说的其他任何方式)。

答案 1 :(得分:0)

我已经在尝试使用样式化组件从antd覆盖Modal的css,但是仍然无法正常工作,正如Kushalvm所说。我可以使用Modal中具有className属性的纯CSS覆盖。

在此处查看antd Modal的属性API-> https://ant.design/components/modal/