1.css3有一個屬性:background-size:cover;可以讓背景圖片完全覆蓋屏幕,但是IE9以下瀏覽器無效。
2.IE有個濾鏡:
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/body-bg.png', sizingMethod=scale);
經測試,沒有什么效果。
3.有一種方法是:單獨在body上放一個div,里面只放一個img,將該div定位最下方。ie,其他瀏覽器均可,但是img會變形(如果圖片大小和網頁內容寬高一致,變形不明顯,但是一般頁面的部分內容是動態加載的,高度不固定),影響視覺效果。不過如果你的背景圖片比較有規律的話,可以使用該方法。
<div id="div1"><img src="./images/content_bg.png" /></div>
div#div1{ position:fixed; top:0; left:0; bottom:0; right:0; z-index:-1; } div#div1 > img { height:100%; width:100%; border:0; }
總結:如果要實現背景全屏又不會有明顯變形,在設計時,背景圖片邊緣顏色最好是純色或者漸變。