js背景自適應,學到了

來源:互聯網
上載者:User

標籤:ini   little   top   load   set   com   alt   png   meta   

最近在做一個項目,要求實現背景自適應,何為背景自適應呢?

1.如果背景圖高度不夠,背景height是100%,background-size就應該是 100% auto

2.如果背景圖寬度不夠,背景width是100%,background-size就應該是 auto 100%

具體是什麼意思呢?還是上代碼看到效果比較有說服力

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <meta name="viewport" id="viewport" content="target-densitydpi=1,width=device-width,user-scalable=no,initial-scale=1,minimum-scale=1" />        <title></title>        <style type="text/css">            div {                position: fixed;                top: 0;                left: 0;                bottom: 0;                right: 0;                background-image: url(../img/littleboy.png);                background-position: center 0;                background-repeat: no-repeat;                background-size: 100% auto;            }        </style>    </head>    <body>        <div></div>        <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>        <script type="text/javascript">            var bg_auto_size = function(src) {                var dh = document.documentElement.clientHeight;                var dw = document.documentElement.clientWidth;                var img_url = src;                var img = new Image();                img.src = img_url;                img.onload = function() {                    var dRatio = dw / dh;                    var imgRatio = img.width / img.height;                    if(dRatio <= imgRatio) {                        $(‘div‘).css({ ‘background-size‘: ‘auto 100%‘, ‘background-position‘: ‘center 0‘ });                    } else {                        $(‘div‘).css({ ‘background-size‘: ‘100% auto‘, ‘background-position‘: ‘center 0‘ });                    }                }            };            //這個圖片的地址必須是絕對路徑,如果用相對路徑就會報錯,檔案識別不出,下面路徑是我隨便找的,不是實際背景的真實絕對路徑            var bg = ‘https://pic.cnblogs.com/avatar/965095/20160526151113.png‘;            bg_auto_size(bg);        </script>    </body></html>

在我們去調用這個背景自適應的函數的時候,這個路徑必須是絕對路徑,如果是相對路徑,那麼檔案就會識別不出,就會報錯,具體為啥子,我也搞不懂,我只是測試了一下,確實是這樣,這地方,還希望大神能夠指點。

以iPhone4,iPhone5,iPhone6為例展示效果:

 

js背景自適應,學到了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.