jquery - css3圖片抖動
問題描述
我這個點擊document彈出圖片他會抖動,不知道是怎么回事?要是把外層的sdf去了他又是正常的,要怎么改
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>.sdf{ width:500px; height:500px; overflow:hidden; margin:200px auto; position:relative;} .outter{ width:174px; height:155px; position:absolute; top:100px; left:200px; transition:all 1s ease; } .dd{ background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); overflow:hidden; background-size:174px 155px; background-position:center center; transition:all 1s ease; width:0px; height:155px; margin:0 auto; } </style></head><body> <p class='sdf'><img src='http://img06.sephome.com/201602/D2D5B00588B8488496F37014622724F9.jpeg' src='http://img06.sephome.com/201602/D2D5B00588B8488496F37014622724F9.jpeg' alt='' style='display: inline;'><p class='outter'> <p class=’dd’></p></p> </p> <script src='http://cdn.bootcss.com/jquery/2.2.1/jquery.js'></script> <script>$(function() { $(document).on(’click’, function() { $('.dd').css({ ’width’:’174px’ }) }); }); </script></body></html>
問題解答
回答1:[doge]這根本沒有涉及 css3 好不,你就是單純的改變一個p的寬度,p的寬度原來占據的位置是0,你通過js來改變它的寬度,就會觸發瀏覽器的重繪。
建議是使用 transform:scale(0); 縮放元素,點擊之后在還原 transform:scale(1);,這樣就不會觸發瀏覽器的重繪了。
回答2:受1樓啟發
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>.sdf{ width:500px; height:500px; overflow:hidden; margin:200px auto; position:relative;} .outter{ width:174px; height:155px; position:absolute; top:100px; left:200px; transition:all 1s ease; } .dd{ background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); overflow:hidden; background-size:174px 155px; background-position:center center; transition:all 1s ease; transform: scale(0,1); width:174px; height:155px; margin:0 auto; } </style></head><body> <p class='sdf'><img src='http://img06.sephome.com/201602/D2D5B00588B8488496F37014622724F9.jpeg' src='http://img06.sephome.com/201602/D2D5B00588B8488496F37014622724F9.jpeg' alt='' style='display: inline;'><p class='outter'> <p class=’dd’></p></p> </p> <script src='http://cdn.bootcss.com/jquery/2.2.1/jquery.js'></script> <script>$(function() { $(document).on(’click’, function() { $('.dd').css(’transform’, ’scale(1, 1)’); }); }); </script></body></html>回答3:
你把width縮小就是縮小一下,跟抖動并沒有什么關系啊。。說起來我理解的抖動不應該是做一個animation,先向左transport再向右?
相關文章:
1. 對mysql某個字段監控的功能2. showpassword里的this 是什么意思?代表哪個元素3. html - vue項目中用到了elementUI問題4. JavaScript事件5. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。6. python - 使用readlines()方法讀取文件內容后,再用for循環遍歷文件與變量匹配時出現疑難?7. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能8. javascript - js中向下取整9. javascript - HTML字符串排版10. html5 - ElementUI table中el-table-column怎么設置百分比顯示。
