CSS转换不适用于FF中的top属性

Mon*_*ffy 11 css firefox cross-browser css3 css-transitions

我有以下HTML:

<ul>
    <li>
        <a href="#">
            <h2>title</h2>
        </a>
    </li>
     <li>
        <a href="#">
            <h2>title</h2>
        </a>
    </li>
     <li>
        <a href="#">
            <h2>title</h2>
        </a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS

ul {
    list-style: none;  
    text-align: center;
}
ul li {
    position: relative;
    float: right;
    margin-right: 20px;
    width: 30%;
}
ul li {
    transition: all 0.3s;
}
ul li:hover {
    top: -10px;
}
ul li> a{
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

问题是转换不适用于moz,它适用于webkit.如何以跨浏览器的方式实现此功能?

DEMO

Har*_*rry 17

transition如果未在元素中指定初始值,则浏览器不会应用于属性.因此,加入top: 0pxul li将解决这一问题.

ul {
  list-style: none;
  text-align: center;
}
ul li {
  position: relative;
  float: right;
  margin-right: 20px;
  top: 0px; /* this line was added */
  width: 30%;
}
ul li {
  transition: all 0.3s;
}
ul li:hover {
  top: -10px;
}
ul li> a {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)
<!-- Library included just to avoid prefixes so that users with older browser can view -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>

<ul>
  <li>
    <a href="#">
      <h2>title</h2>
    </a>
  </li>
  <li>
    <a href="#">
      <h2>title</h2>
    </a>
  </li>
  <li>
    <a href="#">
      <h2>title</h2>
    </a>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

注意:我还建议使用transformMr_Green的答案中提到的相同选项().