CSS3 动画的“坑”

transition visibility height

code:
.hide{ 
  visibility: hidden; 
  -webkit-transition: all 0.3s; 
  -moz-transition: all 0.3s; 
  -ms-transition: all 0.3s;
   -o-transition: all 0.3s;
   transition: all 0.3s; 
  -webkit-transform: scale(0.9); 
  -moz-transform: scale(0.9);
   -ms-transform: scale(0.9); 
  -o-transform: scale(0.9);
   transform: scale(0.9); 
}
.show{ 
     visibility: visible; 
     -webkit-transform: scale(1); 
     -moz-transform: scale(1); 
     -ms-transform: scale(1);
     -o-transform: scale(1); 
     transform: scale(1);
}
实例:
<div id="div1 hide"></div>
<button id="but"></button>
<script>
 $('#but').on('click', function(){ $('#div1').toggleClass('show'); });
</script>

点击按钮 ,让一个div 显示或者隐藏,想要有动画效果。 动画是一个不明显的缩放。 但是在 华为 G-L75 os :Android 4.3 上 点击 后div不会显示。

原因:

千方百计找到了原因,就是visibility 与 transition:all 的结合使用导致的。

解决:
  1. 不使用visibility 来隐藏或显示对象,使用display 或 opacity 。
  2. 不写成 transition:all; 改为了 transition:transform; 。
分析:

visibility 据说是能破坏动画机制
具体是什么原因还是没有搞清楚
……

补充:

height 也是不能作为动画的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • W3C标准中对css3的transition这是样描述的:“css的transition允许css的属性值在一定的...
    青春前行阅读 1,466评论 0 5
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,352评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,827评论 0 2
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,608评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,161评论 5 13