.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的概念:
an element whose layout is governed by the CSS box model which is either a block-level or atomic inline-level element, or whose display property computes to table-row, table-row-group, table-header-group, table-footer-group, table-cell, or table-caption.
意思是说,span这类行内非替换元素,不属于可以transform的元素。Chrome的有效只是属于各浏览器对规范的实现差异了。
把span换成块元素,或者把动画设置到外边的.cl-button(如果它是块元素的话),就可以生效。
另外,现在使用动画只用-webkit-animation和animation2个,不再需要-moz-。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。