css - 样式化 vanilla html 表格以与样式组件 react

标签 css reactjs styled-components

我的应用程序中有一个具有以下结构的常规 HTML 表格(值不重要):

  <table>
    <tr>
      <th>Header Row 1</th>
      <th>Header Row 2</th>
    </tr>
    {Object.values(someArray).map((value, index) => {
      return (
        <tr>
          <td>{value.1}</td>
          <td>{value.2}</td>
          <td>{value.3}</td>
        </tr>
      );
    })}
  </table>

我正在尝试解决拥有 .css 的问题规则被全局应用,因为我希望不同的表具有不同的样式规则。

所以我开始实现 styled-components . 这是我想出来的

const CustomTable = styled.table`
  &&& {
    table,
    th,
    td {
      border: 1px solid black;
      border-collapse: collapse;
    }
    th,
    td,
    tr {
      padding: 5px;
    }
    th {
      text-align: left;
    }
    table {
      width: 100%;
    }
  }
`;

似乎只有第一组规则适用于我的表。所以padding、text-align、width好像都没有生效。这是一个有效的结构(对具有多个规则的多个元素进行分组)还是我需要为每个表格元素( <td><td> 、.. 等)单独创建样式组件?

最佳答案

如果您想添加全局样式,您可以使用 styled-components 中的createGlobalStyle 并将全局样式注入(inject)您的组件。

import { createGlobalStyle } from "styled-components"

像这样,我更新了@deve 的代码。 Codesandboxlink

关于css - 样式化 vanilla html 表格以与样式组件 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55749958/

相关文章:

javascript - 将元素属性 props 的大对象传递给组件

javascript - react 数据网格行在动态提供高度时消失

javascript - Socket.io 连接完好无损,但从不卸载的 React 组件在页面导航后变得对套接字事件无响应

css - 在 div 中居中对齐 Paper 组件

reactjs - 在主题 Material UI React 中设置附加颜色

javascript - 具有样式化组件的可重用参数化 CSS

html - 中心 Bootstrap 导航栏

javascript - 指向其下的链接时,有必要出现一个带有链接的 block

css - Google Chrome 上未显示特定的 Web 字体

javascript - 如何使用样式组件在变换上添加过渡?