jquery - css3 scale 縮放圖片問題
問題描述
我想點擊document讓p的圖片從中心點向兩邊展開一張圖片的大小用了css3的縮放,但是他會把圖片弄失真,問下用css3能否實現
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>p { width:1px; background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); background-size:cover; height:600px; margin:100px auto; -webkit-transform-origin:left top; -moz-transform-origin:left top; -o-transform-origin:left top; -ms-transform-origin:left top; transform-origin:left top; -webkit-transition:1s; -moz-transition:1s; -o-transition:1s;} </style></head><body> <p class='outter'></p> <script src='http://cdn.bootcss.com/jquery/2.2.1/jquery.js'></script> <script>$(function() { $(document).on(’click’,function(){ $(’p’).css({ ’-webkit-transform’:’scaleX(800)’,’transform’:’scaleX(800)’ }) })}); </script></body></html>
問題解答
回答1:方法一:js<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>p { width:0; height:0;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transform-origin: 50% 50%;background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); background-size:cover;} </style></head><body> <p class='outter'></p> <script src='http://cdn.bootcss.com/jquery/2.2.1/jquery.js'></script> <script>$(function() { $(document).on(’click’,function(){ $(’p’).stop(true).animate({ width: 800, height: 600 }) })}); </script></body></html>方法二:scale
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>p { width: 800px; height: 600px; margin: 100px auto 0; transform: scale(0); transform-origin: 50% 50%; transition: transform .4s ease-in-out; background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); background-size:cover;} </style></head><body> <p class='outter'></p> <script src='http://cdn.bootcss.com/jquery/2.2.1/jquery.js'></script> <script>$(function() { $(document).on(’click’,function(){ $(’p’).css({ 'transform': 'scale(1)' }) })}); </script></body></html>方法三:純CSS
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <style>.outter { width: 800px; height: 600px; margin: 100px auto 0; background-color: gray;}.inner { width: 800px; height: 600px; transform: scale(0); transform-origin: 50% 50%; transition: transform .4s ease-in-out; background:url(http://www.ppt123.net/beijing/UploadFiles_8374/201203/2012032518062306.jpg); background-size:cover;}.outter:hover .inner { transform: scale(1);} </style></head><body> <p class='outter'><p class='inner'></p> </p></body></html>回答2:
你的圖片是位圖,放大肯定會失真,你要用矢量圖。你用css3也可以實現,要用高版本的瀏覽器。但是圖片照樣會失真。
回答3:你只放大x肯定失真。。模糊的話需要用矢量的
相關文章:
1. javascript - vue 移動端的input 數字輸入優化2. 為什么我ping不通我的docker容器呢???3. javascript - 有什么兼容性比較好的辦法來判斷瀏覽器窗口的類型?4. 關于docker下的nginx壓力測試5. HTML5禁止img預覽該怎么解決?6. 服務器端 - 采用nginx做web服務器,C++開發應用程序 出現拒絕連接請求?7. javascript - npm start 運行’webpack-dev-server’報錯 Cannot find module ’webpack’8. angular.js - Ionic 集成crosswalk后生成的apk在android4.4.2上安裝失敗???9. java - 靜態屬性中的賦值和靜態代碼塊中的賦值有什么區別?10. javascript - nidejs環境設置操作一直出現這種問題怎么解決?
