是否应在包含或不包含:hover伪类的规则中设置cursor属性?

时间:2011-03-18 06:06:08

标签: css css-selectors semantics

说你或我编写了一个HTML元素......

<a id='hydrogen' href='#'>H</a>

...以及一些:hover CSS ...

#hydrogen:hover {
  background:red;
}

...现在我们想在悬停时放一个花哨的手形光标。有两种选择:

适用于无状态元素:

#hydrogen { 
  cursor:pointer;
}

或,适用于:悬停状态。

#hydrogen:hover { 
  color:red;
  cursor:pointer;
}

我的问题:是否有任何理由为什么一种方式比其他方式更具决定性?

......还是西红柿,番茄?

3 个答案:

答案 0 :(得分:8)

兼容性:IE6及以下版本仅识别:hover元素上的a伪类。

答案 1 :(得分:3)

它们都是相同的,前提是始终希望pointer在那里,不管是否悬停。

:hover伪类will inherit cursor: pointer from its non hovered state

我更愿意将它放在普通选择器上,而不是:hover

答案 2 :(得分:0)

两种方式都同样好。但是我会把它放在id本身上,因为:hover如果元素不是锚,则不能在ie6或以下工作。如果你不关心IE的旧版本。然后两种方式都是正确的。