CSS實(shí)現(xiàn)背景圖尺寸不隨瀏覽器縮放而變化的兩種方法
發(fā)布時(shí)間:2014-09-21 17:13:38 作者:佚名
我要評(píng)論

一些網(wǎng)站的首頁(yè)背景圖尺寸不隨瀏覽器縮放而變化,本例使用CSS 實(shí)現(xiàn)背景圖尺寸不隨瀏覽器縮放而變化,方法一. 把圖片作為background,方法二使用img標(biāo)簽。喜歡的朋友可以看看
一些網(wǎng)站的首頁(yè)背景圖尺寸不隨瀏覽器縮放而變化,例如百度個(gè)人版的首頁(yè),縮放后背景圖的尺寸并不改變:
再比如花瓣網(wǎng)( huaban.com ):
現(xiàn)在用CSS來實(shí)現(xiàn)這一效果。
首先需要一張足夠大尺寸的圖片,上圖百度背景圖的尺寸為1600*1000px( 圖片地址:http://4.su.bdimg.com/skin/12.jpg?2 );花瓣背景圖的尺寸為1600*1600px( 圖片地址:http://hbfile.b0.upaiyun.com/img/unauth_page/food_bg.jpg );
然后有兩種方法可以達(dá)到背景圖不縮放的效果:
方法一. 把圖片作為background
有幾個(gè)CSS的屬性要提一下:background-size:cover,這個(gè)CSS3的屬性作用是把背景圖像擴(kuò)展至足夠大,以使背景圖像完全覆蓋背景區(qū)域,背景圖像的某些部分也許無法顯示在背景定位區(qū)域中,如果不使用這個(gè)屬性,在IE11和FireFox中縮放瀏覽器,背景圖片會(huì)隨之縮小,同時(shí)使用-webkit-background-size: cover和-o-background-size: cover兼容webkit內(nèi)核瀏覽器和Opera瀏覽器;background-attachment屬性設(shè)置背景圖像是否固定或者隨著頁(yè)面的其余部分滾動(dòng),當(dāng)設(shè)置為fixed時(shí)頁(yè)面的其余部分滾動(dòng)時(shí),背景圖像不會(huì)移動(dòng)。
代碼( 用了百度的星空?qǐng)D,效果和上面百度的截圖一至 ):
HTML:
<div id="con"></div>
CSS:
body{ margin:0; padding:0;}
#con{
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
background-image:url("maskimg/star.jpg");
background-position: center 0;
background-repeat: no-repeat;
background-attachment:fixed;
background-size: cover;
-webkit-background-size: cover;/* 兼容Webkit內(nèi)核瀏覽器如Chrome和Safari */
-o-background-size: cover;/* 兼容Opera */
zoom: 1;
}
方法二.不把圖片作為背景,而是使用<img>標(biāo)簽,效果是圖片尺寸不會(huì)隨瀏覽器縮放而變化,但是如果有豎直滾動(dòng)條時(shí),圖片不會(huì)固定而會(huì)隨滾動(dòng)條移動(dòng)。只需要把圖片的寬度width設(shè)置成100%就行了。
代碼很簡(jiǎn)單,只有幾行,用的還是百度的星空?qǐng)D:
HTML:
<div id="con"><img id="pic" src="maskimg/star.jpg"></div> _fcksavedurl=""maskimg/star.jpg"></div>"
CSS:
body{ margin:0; padding:0;}
#pic{ width:100%;}

再比如花瓣網(wǎng)( huaban.com ):

現(xiàn)在用CSS來實(shí)現(xiàn)這一效果。
首先需要一張足夠大尺寸的圖片,上圖百度背景圖的尺寸為1600*1000px( 圖片地址:http://4.su.bdimg.com/skin/12.jpg?2 );花瓣背景圖的尺寸為1600*1600px( 圖片地址:http://hbfile.b0.upaiyun.com/img/unauth_page/food_bg.jpg );
然后有兩種方法可以達(dá)到背景圖不縮放的效果:
方法一. 把圖片作為background
有幾個(gè)CSS的屬性要提一下:background-size:cover,這個(gè)CSS3的屬性作用是把背景圖像擴(kuò)展至足夠大,以使背景圖像完全覆蓋背景區(qū)域,背景圖像的某些部分也許無法顯示在背景定位區(qū)域中,如果不使用這個(gè)屬性,在IE11和FireFox中縮放瀏覽器,背景圖片會(huì)隨之縮小,同時(shí)使用-webkit-background-size: cover和-o-background-size: cover兼容webkit內(nèi)核瀏覽器和Opera瀏覽器;background-attachment屬性設(shè)置背景圖像是否固定或者隨著頁(yè)面的其余部分滾動(dòng),當(dāng)設(shè)置為fixed時(shí)頁(yè)面的其余部分滾動(dòng)時(shí),背景圖像不會(huì)移動(dòng)。
代碼( 用了百度的星空?qǐng)D,效果和上面百度的截圖一至 ):
HTML:
復(fù)制代碼
代碼如下:<div id="con"></div>
CSS:
復(fù)制代碼
代碼如下:body{ margin:0; padding:0;}
#con{
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
background-image:url("maskimg/star.jpg");
background-position: center 0;
background-repeat: no-repeat;
background-attachment:fixed;
background-size: cover;
-webkit-background-size: cover;/* 兼容Webkit內(nèi)核瀏覽器如Chrome和Safari */
-o-background-size: cover;/* 兼容Opera */
zoom: 1;
}
方法二.不把圖片作為背景,而是使用<img>標(biāo)簽,效果是圖片尺寸不會(huì)隨瀏覽器縮放而變化,但是如果有豎直滾動(dòng)條時(shí),圖片不會(huì)固定而會(huì)隨滾動(dòng)條移動(dòng)。只需要把圖片的寬度width設(shè)置成100%就行了。
代碼很簡(jiǎn)單,只有幾行,用的還是百度的星空?qǐng)D:
HTML:
復(fù)制代碼
代碼如下:<div id="con"><img id="pic" src="maskimg/star.jpg"></div> _fcksavedurl=""maskimg/star.jpg"></div>"
CSS:
復(fù)制代碼
代碼如下:body{ margin:0; padding:0;}
#pic{ width:100%;}
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁(yè)面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個(gè)非?;A(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實(shí)際項(xiàng)目中使用它們2025-04-07- will-change 是一個(gè) CSS 屬性,用于告訴瀏覽器某個(gè)元素在未來可能會(huì)發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁(yè)的外觀和布局,更是實(shí)現(xiàn)復(fù)雜交互和動(dòng)態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級(jí),本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場(chǎng)景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會(huì)失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語(yǔ)法、常見使用場(chǎng)景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁(yè)控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標(biāo)懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實(shí)現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動(dòng)態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動(dòng)態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對(duì)象語(yǔ)法和數(shù)組語(yǔ)法,通過對(duì)象語(yǔ)法,可以根據(jù)條件動(dòng)態(tài)切換類名或樣式;通過數(shù)組語(yǔ)法,可以同時(shí)綁定多個(gè)類名或樣式,此外2025-02-26