当前位置: 首页 > 面试题库 >

带有`:hover`和多个相邻兄弟选择器的Webkit错误

谢俊悟
2023-03-14
问题内容

Safari和Chrome以及Opera和Firefox可以处理:hover伪类和相邻兄弟选择器:

a:hover + div {}

这可行。

但是,当添加另一个相邻的兄弟姐妹时:

div:hover + a + div {}

Webkit分崩离析。

但是,如果您先将鼠标悬停在该样式上<a>然后将 鼠标悬停在<div>该样式上,则会按照应有的方式应用样式。

我进一步感到困惑,因为如果添加:

div:hover ~ div {}

无论是否声明了样式,它都会按预期方式开始工作。

我在以下位置看到此问题:

  • 谷歌浏览器15.0.874.121
  • Safari 5.1.1

对于OSX。

有任何想法吗?


问题答案:

您可以通过伪装body元素上的动画来克服Webkit的伪类+常规/相邻兄弟选择器错误:

body { -webkit-animation: bugfix infinite 1s; }

@-webkit-keyframes bugfix { 
  from { padding: 0; } 
  to { padding: 0; } 
}


 类似资料:
  • 本文向大家介绍相邻兄弟选择器、后代选择器和子选择器三者有什么区别?相关面试题,主要包含被问及相邻兄弟选择器、后代选择器和子选择器三者有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 后代选择器与子选择的关系:后代选择器>子选择器。 后代选择器:包括父元素的子元素以及孙子元素(代表符号:空格) 子选择器:包括父元素的子元素(仅仅是子元素)(代表符号:>) 相邻兄弟选择器与后续兄弟选择的关系:后

  • 本文向大家介绍举例说明你对相邻兄弟选择器的理解相关面试题,主要包含被问及举例说明你对相邻兄弟选择器的理解时的应答技巧和注意事项,需要的朋友参考一下 div+p{ //相邻兄弟选择器 background: red; } 符合两个条件就会被选中: 1.紧邻在另一个元素后面 2.两者父元素相同

  • 问题内容: 加号()用于下一个兄弟姐妹。 以前的兄弟姐妹有同等学历吗? 问题答案: 不,没有“先前的兄弟”选择器。 与此相关的是,它用于一般后继兄弟(这意味着该元素在此之后,但不一定紧随其后),并且是CSS3选择器。是下一兄弟姐妹,是CSS2.1。 看到相邻的兄弟组合子从选择器3级和5.7相邻同胞选择从层叠样式表级别2版本1(CSS2.1)规范]。

  • 问题内容: 我的HTML: 当用于选择green_guys的兄弟姐妹时,一个全包兄弟姐妹选择器(如我希望的那样)将选择小狗纸杯蛋糕和小猪。 其他选择器: 该选择器(又名 相邻兄弟选择器 )将仅选择蛋糕: 该选择器(又名 一般兄弟选择 )将只能选择蛋糕,和小猪: 问题答案: 没有向后或向后看的同级组合器,只有向前看的相邻和普通同级组合器。 您能做的最好的事情就是确定一种方法,将选择仅限制于具有相同父

  • 相邻同胞选择器(E + F),选择紧跟在某个元素的后面,且具有相同父亲的元素。换句话说,E和F是同辈元素,F紧跟在E元素后面,即它们之间没有其他同胞元素。相邻同胞选择器中,+ 两侧的空白符是可选的。 如,一些博客站,博文标题后面的第一段是博文的摘要。HTML代码如下: <article>     <h1>相邻同胞选择器</h1>     <p>相邻同胞选择器,为同一个父元素下某个元素之后的第一个兄

  • 有一个xml,http://kquery.veryos.com/w3.xml 打开chrome开发工具,运行“文档”。控制台中的queryselectoral(“div ~ div”)'返回4292个元素。 但是使用XPath表达式等于css选择器“div ~ div”,不选择任何内容,不返回任何元素。 表达式“//div/后续同级::div”或“//div[之前同级::div]”有任何问题吗?