CSS 靈活的背景定位(三種方案)

1.background-position 方案

它允許我們指定背景圖像距離任意角的偏移量翠勉,只要我們?cè)谄屏壳懊嬷付P(guān)鍵字妖啥。然而它在默認(rèn)狀態(tài)下是這樣的:

默認(rèn)位置:背景圖片緊貼左上角

為什么背景圖片的位置是邊框內(nèi)呢?
答案是:默認(rèn)情況下对碌,background-position 是以padding-box 為準(zhǔn)的荆虱,這樣邊框才不會(huì)遮蓋背景圖片。

當(dāng)我們給它指定偏移量的時(shí)候,例如:

background:url(xxx.jpg ) no-repeat #C4D9E6;
background-position: right 20px bottom 20px;

背景圖片將被指定到右下角怀读,跟右邊緣保持20px的偏移量诉位,跟底邊保持20px的偏移量。
*如果只規(guī)定了一個(gè)關(guān)鍵詞菜枷,那么第二個(gè)值將是"center"苍糠。

right 20px bottom 20px

然而,在不支持background-position屬性的瀏覽器中啤誊,背景圖片會(huì)回到默認(rèn)位置椿息。會(huì)干擾到文字的可讀性。于是坷衍,需要提供一個(gè)回退方案寝优,把 bottom right定位值寫到background屬性里面。

background:url(xxx.jpg ) no-repeat bottom right #C4D9E6;
background-position: right 20px bottom 20px;

2.background-origin 方案

它規(guī)定 background-position 屬性相對(duì)于什么位置來(lái)定位枫耳。
語(yǔ)法:background-origin: padding-box|border-box|content-box;

padding:10px;
background:url(xxx.jpg ) no-repeat bottom right #C4D9E6;
background-origin: content-box;

默認(rèn)情況下乏矾,背景圖片通過(guò) padding-box 定位,如果把它的值改成content-box迁杨,那么圖片距離邊角的偏移量就跟內(nèi)邊距一樣了钻心。

3.calc() 方案

語(yǔ)法:calc() = calc(四則運(yùn)算)

用于動(dòng)態(tài)計(jì)算長(zhǎng)度值。
任何長(zhǎng)度值都可以使用calc()函數(shù)進(jìn)行計(jì)算铅协;
calc()函數(shù)支持 "+", "-", "*", "/" 運(yùn)算捷沸;
calc()函數(shù)使用標(biāo)準(zhǔn)的數(shù)學(xué)運(yùn)算優(yōu)先級(jí)規(guī)則;

在第一種方案中狐史,我們想要把背景圖片定位到距離底邊20px, 且距離右邊20px的位置痒给。如果我們?nèi)匀?strong>以左上角偏移的思路來(lái)思考,起始就是希望它有一個(gè) 100%-20px 的水平偏移骏全,以及100%-20px 的垂直偏移苍柏。所以我們可以把 calc() 函數(shù)在background-position 屬性中使用:

background:url(xxx.jpg ) no-repeat #C4D9E6;
background-position: calc(100% - 20px) calc(100% - 20px) ;

*需要注意的是,運(yùn)算符 "-" 前后都需要保留一個(gè)空格姜贡,例如:width: calc(100% - 10px)试吁;

實(shí)現(xiàn)第一種方案的效果


參考書籍:Lea Verou《CSS揭秘》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市楼咳,隨后出現(xiàn)的幾起案子熄捍,更是在濱河造成了極大的恐慌,老刑警劉巖母怜,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件余耽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡糙申,警方通過(guò)查閱死者的電腦和手機(jī)宾添,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門船惨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人缕陕,你說(shuō)我怎么就攤上這事粱锐。” “怎么了扛邑?”我有些...
    開(kāi)封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵怜浅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蔬崩,道長(zhǎng)恶座,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任沥阳,我火速辦了婚禮跨琳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桐罕。我一直安慰自己脉让,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布功炮。 她就那樣靜靜地躺著溅潜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪薪伏。 梳的紋絲不亂的頭發(fā)上滚澜,一...
    開(kāi)封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音嫁怀,去河邊找鬼设捐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛眶掌,可吹牛的內(nèi)容都是我干的挡育。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼朴爬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了橡淆?” 一聲冷哼從身側(cè)響起召噩,我...
    開(kāi)封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逸爵,沒(méi)想到半個(gè)月后具滴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡师倔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年构韵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疲恢,死狀恐怖凶朗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情显拳,我是刑警寧澤棚愤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站杂数,受9級(jí)特大地震影響宛畦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揍移,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一次和、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧那伐,春花似錦踏施、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至燃少,卻和暖如春束亏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阵具。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工碍遍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阳液。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓怕敬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親帘皿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子东跪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • **參考資料** - 《CSS揭秘》 - w3school ---------- ## 背景 ## 很多時(shí)候,我們...
    HappyAdu閱讀 313評(píng)論 0 1
  • 所有圖都在body背景設(shè)置為green下的截圖鹰溜,請(qǐng)不要把最外層的綠色當(dāng)成邊框 半透明邊框 如果我們想給一個(gè)容器設(shè)置...
    hcxowe閱讀 3,940評(píng)論 0 6
  • shkdsnks 一虽填、背景與邊 1、半途明邊框 當(dāng)頁(yè)面中有div曹动,css樣式如下時(shí): width: 100px;h...
    LittlehorseX閱讀 523評(píng)論 0 0
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color斋日,font,text-align墓陈,li...
    wzhiq896閱讀 1,755評(píng)論 0 2
  • 前段時(shí)間看了大熱的航拍視頻恶守,很多小伙伴跟游哥反映說(shuō)太美了第献!其實(shí)想要親眼看看無(wú)人機(jī)鏡頭里的美景,你也可以做到兔港,答案就...
    好吃的呆獸閱讀 185評(píng)論 0 1