序言:这是一个有点“学术”的问题。我正在寻找一个解释和智能猜想,而不是一个实际的解决方案(没有真正的问题要“解决”)。
所以,我注意到如果我让:hover
选择器将其display
属性设置为none
,它在 Chrome (v23) 中没有明显的效果。实际上,没有应用选择器中的其他属性。就好像整个选择器被忽略了。
例如
<div class="myElement">Hover over this. Nothing happens!</div>
...
.myElement:hover {
display:none;
color:red;
}
(看看这个的jsFiddle)
显然,由于display:none
不能悬停的元素,该元素立即不再被选择器选中:hover
,因此失去了display:none
属性(并再次有资格被选择)。
这条规则的自相矛盾让我想知道为什么(例如)该display
属性不会像在其他浏览器(ie9、firefox)中那样快速切换(每一帧或鼠标移动)。虽然我认为我更喜欢 Chrome 的实现,但我想知道为什么color:red
没有应用其他属性(例如 )。
问题:Chrome 选择放弃这个愚蠢的选择器是否有一些官方记录的原因,或者这是某种错误?