css - 仅使用样式化组件时如何影响外部 CSS 类

标签 css reactjs styled-components react-table

我正在使用 react-table,我想将 CSS 规则应用到 rt-td 类,该类无法通过其 API 提供的内容访问或修改。

在 CSS 中,我只是从我的样式表中覆盖 CSS 类。但是你如何使用带样式的组件呢?我听说这是一个反模式,但我还应该做什么?

最佳答案

假设 react-table 导出的组件 ReactTable 的父级是一个简单的 div

const Test = () => (
  <div>
    <ReactTable someProperty={someValue}/>
  </div>
)

您可以通过以下方式影响 ReactTable 中类 rt-td 的样式:1) 将 ReactTable 的父级转换为 styled-components 和 2) 注入(inject)样式以覆盖 rt-td 到上述父项的 CSS 中。

const Parent = styled.div`
  .rt-td {
    /* your custom style goes here*/
  }
`
const Test = () => (
  <Parent>
    <ReactTable someProperty={someValue}/>
  </Parent>
)

通常这样就可以了。如果 react-tablert-td 的样式定义由于特殊性仍然覆盖您的自定义定义,请继续重复类名 rt-tdParent 中(像这样 .rt-td.rt-td),直到您的自定义样式获胜。

关于css - 仅使用样式化组件时如何影响外部 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49591375/

相关文章:

css - 边距、边框、填充 - 具有不同结果的相同(大概)代码。请看一下

html - CSS:没有明确宽度和自动换行的嵌套元素

reactjs - Gatsby 应用程序在移动设备上是 SPA,在桌面上有不同的路由

reactjs - 未捕获的不变违规 : ReactDOM. render():无效的组件元素

javascript - React 可重用组件库样式未加载

reactjs - 以编程方式聚焦并选择 react 选择中的值

jQuery 可放置渲染位置。好像移到了左边

javascript - 多个 <li> 的鼠标悬停

javascript - React.forwardRef 导致样式组件错误

react-native - React Native - 带有样式组件的样式按钮