如何使用jQuery和CSS將背景圖片拉伸

2024-03-28    分類: 網(wǎng)站建設

現(xiàn)在WEB頁面設計比較流行使用大背景圖,那么您知道如何使用一張大背景圖進行拉伸效果呢?也就是說使用一張固定尺寸的背景圖片,讓它在頁面中隨著瀏覽器尺寸進行拉伸,就像我們的電腦桌面壁紙效果。本文將帶您一起使用jQuery和CSS實現(xiàn)背景圖片拉伸效果。

將背景圖片拉伸,而不是平鋪,注意平鋪效果我們可以使用CSS的background-repeat來實行背景圖片的平鋪效果,本文討論的是背景圖 片的拉伸效果。這種效果在一些前衛(wèi)的頁面設計中已經廣泛應用,尤其在一些獨立頁面,像登錄頁面使用拉伸的背景圖片效果比較常見。

目前有兩種解決方案可以實現(xiàn)背景圖片拉伸效果,一種是CSS,我們可以使用background-size:cover實現(xiàn)圖片的拉伸效果,但是 IE8及以下版本不支持background-size,于是我們嘗試使用微軟的濾鏡效果,但是IE6不支持,畢竟還有一些后進生在使用IE6。另一種解 決方案是使用jQuery,完全解決瀏覽器的兼容性問題,還是jQuery威武。

CSS解決方案我們準備一張背景圖片,任意尺寸的,假設我們要做一個登錄頁面,頁面中使用拉升的背景圖。我們只需要在body中加入以下代碼:

<div id=“main”>

….登錄表單

</div>

然后CSS這樣寫:

body{background:url(bg.jpg) center center;background-size:cover;height:900px;width:100%; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=‘bg.jpg’, sizingMethod=‘scale’);} #main{position:absolute; top:50%; left:50%; width:420px; height:250px; margin:-125px 0 0 -210px; background:#ffc}

我們使用background-size實現(xiàn)了背景圖片的拉伸效果,但是要兼容IE7,IE8就需要使用濾鏡filter來實現(xiàn),注意該方案中,必 須指定容器的高度,本例中指定了height:900px。另外我們要讓登錄窗口居中,CSS寫法參照:如何讓DIV水平和垂直居中

CSS方案有一定的局限性,必須指定容器高度,IE6不兼容,請看DEMO1,那么比較完美的解決方案就是使用jQuery了。

jQuery解決方案我們使用jQuery先向body中動態(tài)插入一個DIV,并且該DIV中包含一張圖片,也就是我們要求拉伸效果的背景圖片。然后使用jQuery獲取瀏覽器窗口的大小,根據(jù)瀏覽器窗口大小,動態(tài)設置背景圖片的尺寸(寬和高)。

$(function(){

$(“body”).append(“《div id=‘main_bg’/》”);

$(“#main_bg”).append(“《img src=‘bg.jpg’ id=‘bigpic’》”);

cover();

$(window).resize(function(){ //瀏覽器窗口變化

cover();

});

})

; function cover(){

var win_width = $(window).width();

var win_height = $(window).height();

$(“#bigpic”).attr({width:win_width,height:win_height});

}

上述代碼中,cover()函數(shù)就是動態(tài)的設置了背景圖片的尺寸,通過jQuery的append方法動態(tài)加入背景圖片,當頁面加載完成時已經瀏覽器窗口變化時都能實現(xiàn)背景圖片的拉伸效果,也就是頁面ready和resize都調用了cover()函數(shù)。

分享題目:如何使用jQuery和CSS將背景圖片拉伸
當前URL:http://muchs.cn/news31/322131.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站營銷、搜索引擎優(yōu)化、定制網(wǎng)站云服務器

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化