开发者社区> 问答> 正文

css3 动画de问题

.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中有效,火狐、国产的一些浏览器都没效果?

展开
收起
杨冬芳 2016-06-07 18:08:49 1928 0
1 条回答
写回答
取消 提交回答
  • IT从业

    这个问题并不是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-。

    2019-07-17 19:30:37
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
零基础CSS入门教程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载