簡體   English   中英

背景圖像縮放

[英]Background-Image Scaling

我正在建立一個網站,並且我希望背景圖像隨頁面縮放,並且始終是正確的寬高比。 background-size: covercontain在於,盡管它可以正確調整寬度尺寸,但是如果您的瀏覽器的長寬比高於背景圖像,則它會開始垂直平鋪。

所以我想我會寫一個jQuery函數來解決這個問題,它對我來說很棒:

$(window).resize(resizeBg);

function resizeBg(){
    var winWidth = window.innerWidth;
    var winHeight = window.innerHeight;
    var aspectRatio = winWidth/winHeight;
    var imageRatio = 1920/1200;
    if(aspectRatio < imageRatio)
        $("body").css("background-size", "auto " + winHeight + "px");
    else
        $("body").css("background-size", winWidth + "px auto");
}
resizeBg();

但是在發布此功能之前,我只想問一下是否有人知道更好的方法或可以清理此功能的方法。

謝謝。

background-size: auto; 應該可以在這里正常工作,您只需要指定background-repeat: no-repeat; background-position: center 希望這可以幫助。

有幾種不同的方法可以完成此操作。 我通常會嘗試使用CSS。 這只是一種CSS方法。

html

<div id="bg">
  <img src="images/bg.jpg" alt="">
</div>

的CSS

#bg {
  position: fixed; 
  top: -50%; 
  left: -50%; 
  width: 200%; 
  height: 200%;
}

#bg img {
  position: absolute; 
  top: 0; 
  left: 0; 
  right: 0; 
  bottom: 0; 
  margin: auto; 
  min-width: 50%;
  min-height: 50%;
}

在csstricks.com上的文章中,它探討了所有各種方式,包括優缺點和演示。 當我探索此問題時,我發現它很有用。

http://css-tricks.com/perfect-full-page-background-image/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM