Javascript 物料界面表格多个子程序can';不要在一起徘徊
我使用的是材料表界面,就像这个img 当我将鼠标悬停在特定行上时,背景颜色将变暗,有时一行可能有子行。 我希望当我悬停时,子行将变暗 我的设计结构如下所示,但这样只有选定的tablecell悬停,而不是所有subRow的背景颜色都变暗 我还尝试过将subrow的子tablecells包装成tablerow/tablecell/div。这不起作用,有没有更好的方法来实现这一点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
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工作,我使用内联样式只是因为我认为它更容易理解,我只是修改了代码