我正在構建一個網站,我希望背景圖像與頁面一起縮放,並始終保持正確的高寬比。 background-size: cover
或contain
的問題在於,雖然它正確調整寬度尺寸,但如果瀏覽器的縱橫比高於背景圖像,它將開始垂直平鋪。背景圖像縮放
所以我想我會寫一個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();
但在此之前,我把這個活我只是想詢問是否有人來更好的辦法知道做這個或我可以清理這個功能的方法。
謝謝。
相關的代碼示例應包括在你的答案,因爲沒有保證鏈接將始終工作。 – Greg
同意並修復 – JayD
謝謝,我沒有使用上面的代碼,但CSS3的方式工作。這個網站是針對特定人羣的,我可以肯定不會少於IE9。所以這是完美的。謝謝! –