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.如何以跨浏览器的方式实现此功能?
Har*_*rry 17
transition如果未在元素中指定初始值,则浏览器不会应用于属性.因此,加入top: 0px到ul 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的答案中提到的相同选项().