带有 :hover 和多个相邻兄弟选择器的 Safari 和 Chrome 错误
在 Web 开发中,使用 :hover 伪类和相邻-兄弟选择器通常受到 Safari、Chrome、Opera 和 Firefox 等主流浏览器的支持。例如,以下代码按预期工作:
a:hover + div {}
但是,当添加多个相邻同级选择器时,Webkit 浏览器(包括 Safari 和 Chrome)会表现出意外行为:
div:hover + a + div {}
在这种情况下,Webkit 无法按预期应用样式。
解决此错误的解决方法是在 body 元素上使用样式声明来创建微妙的动画效果:
body { -webkit-animation: bugfix infinite 1s; } @-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } }
此动画没有可见效果,但会触发样式重新计算,从而允许 Webkit 浏览器正确应用 :hover 和相邻同级选择器样式。
以下是演示解决方法的示例:http://jsfiddle。 net/jalbertbowdenii/ds2yY/1/.
通过采用此技术,您可以克服 Webkit 错误并确保不同浏览器之间的行为一致。
以上是为什么 :hover 和多个相邻兄弟选择器会导致 Safari 和 Chrome 中出现错误?的详细内容。更多信息请关注PHP中文网其他相关文章!