【发布时间】:2020-08-22 02:57:36
【问题描述】:
我已经使用 CSS 对表格的行设置了:hover 效果。
唯一的问题是悬停效果不起作用,如果表格单元格具有特定的背景颜色,例如绿色。在示例代码中,这意味着当您将鼠标移到第 3 列上时,它不会将背景颜色从绿色(分别为红色)更改为 #96c7ef。 (没关系,第一行也不会改变背景颜色。使用<thead> 有意跳过。)在没有任何背景颜色的其他单元格上,悬停有效。
page.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
<link rel="stylesheet" href="./basic.css" type="text/css">
</head>
<body>
<table class="multidata" style="table-layout: fixed; width: 100%" cellspacing="0" border="0">
<thead>
<tr>
<th style="width: 10%">ID</th>
<th style="width: 10%">Name</th>
<th style="width: 10%">Status</th>
</tr>
</thead>
<tr>
<td class="td1" style="color:grey"><i>1</i></td>
<td class="td1" style="color:grey"><i>First</i></td>
<td class="tdX" align="center"><b>Disabled</b></td>
</tr>
<tr>
<td class="td2" style="color:grey"><i>2</i></td>
<td class="td2" style="color:grey"><i>Second</i></td>
<td class="tdY" align="center"><b>Active</b></td>
</tr>
</table>
</body>
</html>
basic.css
.multidata td,.multidata th {
border: 2px solid #808080;
padding: 5px 5px;
}
.multidata tbody>tr:hover {
background-color:#96c7ef!important;
}
.tdX {
background-color:red;
font-weight:bold;
}
.tdY {
background-color:green;
font-weight:bold;
}
如果将两个单元格 (tdX, tdY) 的样式声明指定为内联样式,则悬停效果也具有相同的行为。我指定了 !important,但没有任何变化。
我的代码有什么问题?
【问题讨论】:
标签: html css html-table hover