3

我有以下CSS:

        td: hover {
        background-color:red;
        }



        td {
        cursor: pointer;
        background-color: rgb(150,150,150);
        }

我的 HTML 只是:

<table>
<tr><td> </td></tr>
</table>

我无法hover工作。这是为什么?

4

3 回答 3

10

:hover是一个伪选择器,所有以这样开头的:都是这样的(例如:active:before等等)。

这可能与指定值混淆:

something: value;

因此,您需要将伪选择器视为单独的对象,而不是值。

这就是为什么你需要修复你的td: hover,所以它看起来像td:hover.

请注意,如果您在之后放置一个空格,td如下所示:

td :hover { ...

这等于:

td: *:hover { ...

因此将选择所有下降的项目td并在悬停时对其应用样式(请参阅此示例)。

请记住,空格在 CSS 中是有意义的。

于 2013-04-19T15:29:15.860 回答
6

您需要删除之前的空格:hover

td:hover {
    background-color: red;
}
于 2013-04-19T15:06:44.907 回答
2

您只需要删除之间的空格,td :hover因为<td>没有后代..

td:hover将工作

http://jsfiddle.net/xwYTa/

于 2013-04-19T15:06:48.167 回答