【问题标题】:Change hover color on Table Rows in Ant-Design Table在 Ant-Design 表格中更改表格行上的悬停颜色
【发布时间】:2021-09-26 13:28:23
【问题描述】:

当鼠标悬停在行上时,我尝试设置行的背景颜色,我尝试了几种方法,一种使用样式组件,为表格本身设置样式:

const StyledTable = styled((props) => <Table {...props} />)`
  & tbody > tr:hover {
    background: rgba(224, 248, 232, 1);
  }
`;

这几乎可以工作,当我将鼠标悬停在一行上时,首先我会看到我设置的颜色,然后它立即变回默认颜色,因此它在我的浅绿色和默认 antd 颜色之间转换。当我检查样式中的行时,我什至找不到它们的颜色。

我尝试的第二种方法是使用普通 css 和类名:

类的css在哪里:

.custom-row-hover:hover {
  background-color: rgba(224, 248, 232, 1);
}

结果还是一样,首先是我的颜色,然后过渡到默认颜色。

【问题讨论】:

    标签: reactjs antd


    【解决方案1】:

    好像背景颜色被应用到了antd表中的td元素,你还需要使用&amp;&amp;操作符增加specificitystyledTable 组件的更新代码应如下所示。

    const StyledTable = styled((props) => <Table {...props} />)`
      && tbody > tr:hover > td {
        background: rgba(224, 248, 232, 1);
      }
    `
    

    为了测试上述内容,我 fork 了 antd codesandbox 表演示,它似乎可以正常工作。

    【讨论】:

    • 谢谢你解决了它!,我不需要增加特异性,但选择器成功了!但是即使现在当我检查它们时,我根本看不到 td 上设置的背景,当它取决于 tr:hover 时,如何检查 td 以查看正在应用的样式?
    • 如果您在 chrome 浏览器的 Inspect 选项卡中检查特定 td 并选中父 tr 上的 :hov tab 中的 hover 复选框,那么您可以看到使用这样的选择器将背景添加到 td 中。 .ant-table-tbody&gt;tr.ant-table-row:hover&gt;td
    • @Darkbound 如果此答案解决了您的问题,请将其标记为正确的
    【解决方案2】:

    在纯 Css 中,您必须在 tr:hover 之后添加 td

    .custom-row-hover:hover td {background: rgba(224, 248, 232, 1)!important;}
    

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多