Firefox css转换没有';当前面有生成的内容时,不能启动

Firefox css转换没有';当前面有生成的内容时,不能启动,css,firefox,css-transitions,css-content,Css,Firefox,Css Transitions,Css Content,**更新** 如果其他任何人遇到此问题,则Firefox已提交一个bug 今天发现了这个,并为它设置了一把小提琴。我现在能说的最好的情况是,如果目标元素前面有应用了转换效果的生成内容,则转换无法启动 html: 我只在Firefox中看到这种行为。发生这种情况是有原因的,还是FF中有一个bug?看起来像个bug,我在使用FX29.0.1、Win7 x64时也看到了同样的情况 但是,如果您创建静态不可见的生成内容,而不使用:hover伪类,那么它将起作用 div:last-child >

**更新** 如果其他任何人遇到此问题,则Firefox已提交一个bug

今天发现了这个,并为它设置了一把小提琴。我现在能说的最好的情况是,如果目标元素前面有应用了转换效果的生成内容,则转换无法启动

html:


我只在Firefox中看到这种行为。发生这种情况是有原因的,还是FF中有一个bug?

看起来像个bug,我在使用FX29.0.1、Win7 x64时也看到了同样的情况

但是,如果您创建静态不可见的生成内容,而不使用
:hover
伪类,那么它将起作用

div:last-child > div::before {
  content:'';
  /* … */
  background:transparent;
}
但在悬停时使其可见,即

div:last-child > div:hover::before {
  background:#cc0000;
}

无论出于何种原因,Firefox似乎正在尝试转换生成内容的存在,这当然没有意义,而且会失败(考虑到只有最初的动画失败,这更奇怪)。理想情况下,转换应该只应用于它声明的任何内容,独立于它的任何兄弟、祖先或后代(包括生成的内容和任何其他伪元素)。
div:last-child > div::before {
  content:'';
  /* … */
  background:transparent;
}
div:last-child > div:hover::before {
  background:#cc0000;
}