Javascript 物料界面表格多个子程序can';不要在一起徘徊

Javascript 物料界面表格多个子程序can';不要在一起徘徊,javascript,html,css,reactjs,material-ui,Javascript,Html,Css,Reactjs,Material Ui,我使用的是材料表界面,就像这个img 当我将鼠标悬停在特定行上时,背景颜色将变暗,有时一行可能有子行。 我希望当我悬停时,子行将变暗 我的设计结构如下所示,但这样只有选定的tablecell悬停,而不是所有subRow的背景颜色都变暗 我还尝试过将subrow的子tablecells包装成tablerow/tablecell/div。这不起作用,有没有更好的方法来实现这一点 import { Table,TableHead,TableRow,TableCell,TableBody,Divide

我使用的是材料表界面,就像这个img

当我将鼠标悬停在特定行上时,背景颜色将变暗,有时一行可能有子行。 我希望当我悬停时,子行将变暗

我的设计结构如下所示,但这样只有选定的tablecell悬停,而不是所有subRow的背景颜色都变暗

我还尝试过将subrow的子tablecells包装成tablerow/tablecell/div。这不起作用,有没有更好的方法来实现这一点

import { Table,TableHead,TableRow,TableCell,TableBody,Divider,makeStyles} from '@material-ui/core'
export default Table = () => {
const subRow=[{a:'test1',b:1},{a:'test2',b:2}]
const tableClasses = useStyles()
  return(


 <Table>
  <TableHead>
    <TableRow>
      <TableCell />
    </TableRow>
  </TableHead>
  <TableBody>
    <TableRow>
      <TableCell>WER</TableCell>
      <TableCell> 234</TableCell>

      <TableCell>
        {subRow.map((e, index) => {
          return (
            <div className={tableClasses.subRow}>
              <div> {e.a} </div>
              {index < subCells.length - 1 && <Divider />}
            </div>
          );
        })}
      </TableCell>
      <TableCell>
        {subRow.map((e, index) => {
          return (
            <div className={tableClasses.subRow}>
              <div> {e.a} </div>
              {index < subCells.length - 1 && <Divider />}
            </div>
          );
        })}
      </TableCell>
    </TableRow>
  </TableBody>
</Table>;


)
const useStyles = makeStyles(() => ({
 subRow:{
  '&:hover':{
    backgroundColor: 'red'
 }},
}))
}
从'@material ui/core'导入{Table,TableHead,TableRow,TableCell,TableBody,Divider,makeStyles}
导出默认表=()=>{
constsubcrw=[{a:'test1',b:1},{a:'test2',b:2}]
const tableClasses=useStyles()
返回(
WER
234
{subRow.map((e,索引)=>{
返回(
{e.a}
{index{
返回(
{e.a}
{index({
子程序:{
“&:悬停”:{
背景颜色:“红色”
}},
}))
}

在元素上声明内联样式时不能使用选择器,因为通过将其声明为内联,您已经选择了此div以应用样式。正确的内联样式声明如下->

这样做的局限性在于,您不能对其使用伪/状态选择器,如
:hover

为此,您需要将样式代码放入
块或单独的css文件中

假设您的代码作为标准HTML
元素输出到浏览器的示例

<style>
table tbody td:hover {background-color:red;}
/* or if you want to keep it to the div... */
table tbody td div:hover {background-color:red;}
</style>

表tbody td:hover{背景色:红色;}
/*或者如果你想把它保存在div*/
表tbody td div:hover{背景色:红色;}

否则,替换为用于创建表结构的任何类,如果它看起来不起作用,也要检查它没有被更具体的基本UI样式覆盖。

谢谢,实际上我使用makeStyle来做CSS工作,我使用内联样式只是因为我认为它更容易理解,我只是修改了代码