.cl-button:hover span{
animation:mymove 0.35s;
-webkit-animation:mymove 0.35s;
-moz-animation:mymove 0.35s;
}
@keyframes mymove
{
0% {transform: scale(1);}
50% {transform: scale(0.1);}
100%{transform: scale(1);}
}
@-moz-keyframes mymove
{
0% {transform: scale(1);}
50% {transform: scale(0.1);}
100%{transform: scale(1);}
}
@-webkit-keyframes mymove
{
0% {-webkit-transform: scale(1);}
50% {-webkit-transform: scale(0.1);}
100%{-webkit-transform: scale(1);}
}
为什么这段代码只在chrome中有效,火狐、国产的一些浏览器都没效果?
这个问题并不是css3动画的问题,而是有关
transform
的。w3c文档里有描述transformable element的概念:
意思是说,
span
这类行内非替换元素,不属于可以transform的元素。Chrome的有效只是属于各浏览器对规范的实现差异了。把
span
换成块元素,或者把动画设置到外边的.cl-button
(如果它是块元素的话),就可以生效。另外,现在使用动画只用
-webkit-animation
和animation
2个,不再需要-moz-
。