js 背景圖隨瀏覽器大小而變化,且保持圖片不變形


<html>
<head>
<style>
body{ 
    overflow:hidden;  
}
#pic{  
  margin:0 auto;width:100%;height:100%;padding:0;max-width:100%;position:relative;   
}
#img{
  position:absolute;left:0px;top:0px;
}
</style>
</head>
<body>
  <div id="pic">
      <img src="" id="img" />
  </div>
<script type="text/javascript">    
window.onresize=function(){
  resize();
};

window.onload=function(){
  resize();
};
function resize(){
  //獲取瀏覽器的寬高,包括適配ie瀏覽器 
  var winWidth = (window.innerWidth)?window.innerWidth:((document.body) && (document.body.clientWidth))?document.body.clientWidth:0;
  var winHeight = (window.innerHeight)?window.innerHeight:((document.body) && (document.body.clientHeight))?document.body.clientHeight:0;
    
  var bg_rate = parseFloat(1920/990);//圖片的寬高比
  var br_rate = parseFloat(winWidth/winHeight);//瀏覽器的寬高比
  //根據寬高比的比較,固定圖片的寬高來實現圖片鋪滿屏幕而不變形,多余的部分隱藏
  if(br_rate<bg_rate){
    document.getElementById(
'img').style.height = winHeight + 'px';
    document.getElementById('img').style.width = '';
  }
else{
    document.getElementById(
'img').style.width = winWidth + 'px';
    document.getElementById(
'img').style.height = '';
  }
}
</script>
</body>
</html>

 這是一個以一張圖片為背景圖的頁面,當瀏覽器不同大小的時候需要背景圖片也跟着按照正常的比例進行縮放,適配。

轉載請注明出處:http://www.cnblogs.com/lvxue/p/4049934.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM