伪类选择在IE浏览器的悬停做工精细,但不是在铬工作[CSS]

问题描述:

这里是我的CSS代码样本。伪类选择在IE浏览器的悬停做工精细,但不是在铬工作[CSS]

.step-radio-button:not(:disabled):not(:checked):hover + label { 

    background: yellow; 
} 

我试过改变:禁用[DISABLED]或:启用,但它仍然不起作用。

.step-radio-button:not([DISABLED]):not(:checked):hover + label { 

    background: yellow; 
} 

OR

.step-radio-button:enabled:not(:checked):hover + label { 

    background: yellow; 
} 
+0

适用于XP中Chrome 31的我:http://jsfiddle.net/5UbnL/ – Passerby

+0

感谢您的回复@Passerby。我试图添加一个标签,它似乎不适用于多个相邻的兄弟选择器。你有什么主意吗? http://jsfiddle.net/5UbnL/1/ – user3030529

+0

根据[W3C](http://www.w3.org/TR/css3-selectors/#adjacent-sibling-combinators),'+'是用来结合了两个[_simple selectors_,它们不包含组合器](http://www.w3.org/TR/css3-selectors/#contents),所以两个'+的工作方式是“未定义的”,并且可能不会提供跨平台的合作行为。 – Passerby

如果您遇到这种麻烦,为什么不把它简化?

.step-radio-button:hover + label { 
    background: yellow; 
} 

.step-radio-button:disabled:hover + label, 
.step-radio-button:checked:hover + label { 
    background: <some_other_color>; 
}