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. android - weex 項目createInstanceReferenceError: Vue is not defined2. PHPExcel表格導入數據庫怎么導入3. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點4. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?5. pdo 寫入到數據庫的內容為中文的時候寫入亂碼6. vue2.0+webpack 如何使用bootstrap?7. html - 根據用戶id實現論壇用戶頭像顯示的最佳實現8. 前端 - 為什么CSS transform-origin 屬性在 Chrome 和 Safari 中得到完全不同的效果?9. docker綁定了nginx端口 外部訪問不到10. PHP類封裝的插入數據,總是插入不成功,返回false;
