html - css3 animation的问题.我也不知道如何描述
问题描述
<!DOCTYPE HTML><html lang='en-US'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title></title> <style type='text/css'>*{margin:0;padding:0;}.wrapper{ width:500px; height:200px; border:1px solid red; margin:0 auto; overflow:hidden;}ul{ height:100px; outline:1px solid red}li{ list-style:outside none none;}ul:nth-child(3).active{ display:block; animation: animate ease-in-out 0s 0s ;}ul:nth-child(4).active{ display:block; animation: animate ease-in-out 1s .5s ;}ul:nth-child(5).active{ display:block; animation: animate ease-in-out 2s .5s ;}@keyframes animate{ 0%{height:0; } 100%{height:100%; }} </style></head><body> <p class='wrapper'><ul> <li></li> <li></li> <li></li> <li></li></ul><ul> <li></li> <li></li> <li></li> <li></li></ul><ul style=’background:red’> <li></li> <li></li> <li></li> <li></li></ul><ul style=’background:red’> <li></li> <li></li> <li></li> <li></li></ul><ul style=’background:red’> <li></li> <li></li> <li></li> <li></li></ul> </p> <p>click</p><script src='http://libs.baidu.com/jquery/1.9.0/jquery.js'></script><script type='text/javascript'> $(document).ready(function(){$(’p’).click(function(){ $(’p’).css(’height’, ’initial’); $(’ul:gt(1)’).toggleClass(’active’);}); });</script></body></html>
现在这个效果肯定不满意, 当我触发事件时是一下跳出来了,因为height:auto了,然后动画才开始!!
要的效果是一个一个出来.
多用动画, 进军移动端了
问题解答
回答1:ul:nth-child(3).active{display:block;animation: animate ease-in-out 0s 0s backwards; } ul:nth-child(4).active{display:block;animation: animate ease-in-out 1s .5s backwards; } ul:nth-child(5).active{display:block;animation: animate ease-in-out 2s .5s backwards; } @keyframes animate{0%{ transform:scaleY(0);}100%{ transform:scaleY(1);} }
上面是修改方法。 无论是keyframes还是transition不要用height width,left,top,bottom,right等会引起reflow的属性来作为变化参数。这段代码里面,使用height来作为变化属性导致了这个错误,因为height在不断的改变,p的高度也在改变,导致浏览器一直在重排后来不及重绘,看到的就只有最后一下子跳出来的样子。这段代码放在移动端估计会让手机更卡顿。另外keyframe animation transform等如果在移动端记得加webkit前缀。
相关文章:
1. docker绑定了nginx端口 外部访问不到2. python - 使用pandas的resample报错3. 网页爬虫 - python 爬取网站 并解析非json内容4. python - flask post提交timestamp不能作为参数,这是为什么?5. android - 类似于微信朋友圈图片这样的是在listview中嵌套gridview还是动态加入多个imageview呢?6. docker-machine添加一个已有的docker主机问题7. html - 类似这样的弹层用什么插件写比较好?8. vue.js - vue-router开启HTML5的history模式后nginx配置9. html5 - 图片一般一怎么的形式存放在服务器中的?10. node.js - mongodb查找子对象的名称为某个值的对象的方法

网公网安备