css3 - 背景圖自定義比例縮小
問題描述
本來(lái)新手一枚,在開發(fā)中遇到背景圖不能安自定義比例縮放,用了background-size:cover,圖片要么右半部分不完整,要么下半部分不完整,要怎么做才能鋪滿全屏并且全部顯示出來(lái)
問題解答
回答1:body { background-size:cover; text-align:center; /*此部分支持chrome,應(yīng)該也支持firefox*/ background:rgb(246,248,249); background:url(../img/bg.jpg) no-repeat center fixed transparent; background-attachment:fixed; background-size:100% 100%; /*以下是IE部分,使用濾鏡*/ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’../img/bg.jpg’,sizingMethod=’scale’); background-repeat:no-repeat; background-position:100%,100%;}回答2:
background-attachment: fixed;background-size: cover;background-repeat: no-repeat;background-image: url(./img/desk4.jpg);background-position: 50% 50%;回答3:
你的意思是你的圖片正好是屏幕的大小?
那除非是你的圖片長(zhǎng)寬比例和屏幕比例是一樣的,不然就要圖片變形,要么壓扁,要么變瘦,不然就是你說(shuō)的情況
回答4:cover是鋪滿,可能圖會(huì)超出。contain是圖完全塞入,可能會(huì)有留白。我也遇到了這個(gè)適配需求,目前的想法是img width height100%低層級(jí)模擬背景。還沒時(shí)間試,你可以先試試。
回答5:cover和contain都是按比例縮放的,不然就用img 100%或者background-size 百分比,要做背景全屏比例要對(duì)
回答6:右邊或者下邊不完整,猜測(cè)background-position并沒有center;
cover是塞滿元素(有裁切),contain是背景最大(留黑邊),這倆都是保持寬高比的;
不要寬高比的話可以試試100% 100%,變形但是能充滿元素而且沒裁切;
必要時(shí)可以調(diào)整元素尺寸,用js動(dòng)態(tài)搞下就行。
回答7:第一種方法:通過(guò)定位把背景圖居中,再通過(guò)大小為cover調(diào)整背景大小,這樣圖片不會(huì)變形且鋪滿;
p { background-size: cover; background-position: center center;}
第二種方法:通過(guò)強(qiáng)制背景圖寬高為100%達(dá)到鋪滿效果,但是圖片容易變形(不推薦)。
p { background-size: 100% 100%;}
相關(guān)文章:
1. windows - asp.net連接上mysql之后如何調(diào)用?比如下面的登錄驗(yàn)證功能怎么實(shí)現(xiàn)2. css3 - Typecho 后臺(tái)部分表單按鈕在 Chrome 下出現(xiàn)靈異動(dòng)畫問題,求解決3. javascript - 編程,算法的問題4. 剛放到服務(wù)器的項(xiàng)目出現(xiàn)這中錯(cuò)誤,有高手指點(diǎn)嗎5. mysql - 面試題:如何把login_log表轉(zhuǎn)換成last_login表?6. javascript - 為什么嵌套的Promise不能按預(yù)期捕獲Exception?7. java - HTTPS雙向認(rèn)證基礎(chǔ)上有無(wú)必要再進(jìn)行加簽驗(yàn)簽?8. apache - 想把之前寫的單機(jī)版 windows 軟件改成網(wǎng)絡(luò)版,讓每個(gè)用戶可以注冊(cè)并登錄。類似 qq 的登陸,怎么架設(shè)服務(wù)器呢?9. javascript - nodejs實(shí)現(xiàn)異步時(shí)遇到的一個(gè)問題10. java - 阿里的開發(fā)手冊(cè)中為什么禁用map來(lái)作為查詢的接受類?
