




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、CSS從大圖中摳取小圖完整教程(background-position應(yīng)用) 相信很多喜歡研究網(wǎng)頁界面的童鞋都遇到過一個奇妙的現(xiàn)象:網(wǎng)頁中很多圖片素材被合成在一張圖片上。 起初小菜模仿網(wǎng)站的時候,經(jīng)常遇到這個現(xiàn)象,那時候也不知道這時什么技術(shù),人家的整張圖片素材不會利用,只能用ps切圖,切成單個的再用。 其實,這是一個非常簡單的技術(shù),就是因為想象的太難了,才一直找不到問題的關(guān)鍵。
2、160; 要想實現(xiàn)CSS摳圖,只需要用到一個屬性:background-position。 按照字面理解,這個屬性就是背景定位,先看看google網(wǎng)站的素材圖,如下: 假如小菜現(xiàn)在想做一個+1按鈕,利用上邊的素材圖,普通狀態(tài)顯示A圖,鼠標(biāo)移上去顯示后顯示B圖,實現(xiàn)這么一個動態(tài)效果。 按鈕是用來實現(xiàn)功能的,一般是用超鏈接響應(yīng)單擊事件,但是不能把背景圖直接加在超鏈接上,那樣
3、就不叫樣式啦,因為超鏈接的文本長度變化時,樣式也變了。 地球人一般的做法是,div里邊套一個超鏈接,超鏈接負(fù)責(zé)實現(xiàn)功能,div負(fù)責(zé)裝載背景圖。html結(jié)構(gòu)如下:1 <div class="btn">2 <a href="">+1</a>3 </div> 有了html骨架,接下來就要寫css樣式啦。
4、; 假如我們什么都不考慮,直接把整張圖片設(shè)為背景,樣式如下:1 .btn2 background:url(bg.png);3 效果如圖: div是塊級元素,默認(rèn)是占一行的,這個先不用關(guān)心,但看到背景圖重復(fù)了,這顯然不是我們想要的,加上background-repeat:no-repeat;屬性,改進(jìn)樣式如下:1 .btn2 background:url(bg.png);3 background-repeat:no-r
5、epeat;4 這樣就不重復(fù)了。 div可以理解成一個矩形框,它的左上角是頂點,背景圖片的頂點也是左上角,div加載背景圖時,會把兩個頂點重合,頂點的坐標(biāo)是(0,0)。不理解的看圖,很簡單的。 +1的小圖片混雜在大圖中,想提取出來,需要用background-position屬性,這個屬性相當(dāng)于大圖片不動,把div的頂點進(jìn)行移動,移動到目標(biāo)小圖的頂點位置,
6、如下圖: 這樣一來,div中顯示的就是小圖了,但是,顯示的還不僅僅是小圖,而是圖中陰影部分,怎么辦呢?設(shè)置一下div的寬、高,讓它和小圖的寬、高一樣就可以了唄! 再來看看background-position屬性,它有兩個參數(shù),分別是水平方向移動的像素、豎直方向移動的像素,都用負(fù)數(shù)表示。大圖不動,div移動,也只能是向右、向下移動,只要記住這兩個方向移動的像素都用負(fù)數(shù)表示就行了!
7、因此,只要找到小圖相對于大圖左上角頂點的水平移動像素、豎直移動像素就可以了。小菜也不用什么專業(yè)工具,用截圖就很方便,從大圖左上角頂點開始截,到小圖頂點那停下來,一看像素就差不多了,然后再調(diào)試調(diào)試,基本就搞定。 在本例中,A小圖的位移是:-25px -374px,A小圖尺寸是:24px 16px。因此,css樣式如下:1 .btn2 background:url(bg.png);3 background-repeat:no-repeat;4 background-position:-25px -374px;5 height:
8、16px;6 width:24px;7 效果如下: 這樣就算是把小圖摳出來啦!簡單吧! 先解釋個問題,圖片上有+1,而我又在超鏈上寫了一個+1,這是因為很多時候文本內(nèi)容不是寫在圖片上的,那樣靈活性太差,文本就是文本,小菜為了給大家一個完整的演示,因此又寫了一個+1,接下來就處理它!
9、60; 先把+1居中,居中分為水平居中和垂直居中,水平居中超鏈接,需要在div上設(shè)置text-align:center;,這個屬性是對子節(jié)點而言的;垂直居中div中的超鏈接,只需要把a(bǔ)標(biāo)簽的line-height屬性設(shè)成和div的高度一樣即可。樣式如下: 1 .btn 2 background:url(bg.png); 3 background-repeat:no-repeat; 4 background-position:-25px -374px; 5 height:16px; 6 width:24px; 7 text-align:center; 8 9
10、.btn a10 line-height:16px;11 效果如下: 接下來呢,還有問題,我們可以發(fā)現(xiàn),只有當(dāng)鼠標(biāo)移到+1文本上時,鼠標(biāo)才會變成手型,才能響應(yīng)事件。 這顯然不是我們想要的,應(yīng)該是鼠標(biāo)移入圖片時,確切的說是鼠標(biāo)移入div時,就可以變成手型,也能響應(yīng)事件。
11、 這也簡單,只需要在a標(biāo)簽(超鏈接)上加display:block;屬性即可。 另外這個下劃線比較礙眼,用text-decoration:none;屬性去掉,很常見,就不多說了。 樣式如下: 1 .btn 2 background:url(bg.png); 3 background-repeat:no-repeat; 4 background-position:-25px -374px; 5 hei
12、ght:16px; 6 width:24px; 7 text-align:center; 8 9 .btn a10 line-height:16px;11 display:block;12 text-decoration:none;13 接下來就剩最后一件事了,那就是鼠標(biāo)移入的時候切換背景。 本例是div里邊套a標(biāo)簽,鼠標(biāo)移入換背景,當(dāng)然是指鼠標(biāo)移入div,而且換背景也是換div的背景,可不是a標(biāo)簽的哦!
13、; 因此要在div標(biāo)簽上調(diào)用hover,div的樣式是btn,因此寫成.btn:hover。 換背景還需要找到背景圖片,這又需要摳小圖了,也就是摳上邊指出的B圖。 剛剛顯示的是A小圖,B小圖和A小圖在同一水平線上,因此豎直方向的移動像素是相同的,水平方向差不就是A小圖的水平像素加上A小圖的寬度。 經(jīng)過測試,B小圖的位移是:-50px -374px
14、,尺寸大小就不用關(guān)心了,肯定和A小圖一樣,不一樣就沒法做了。 把B小圖的定位background-position:-50px -374px;放在.btn:hover里即可。 樣式如下: 1 .btn 2 background:url(bg.png); 3 background-repeat:no-repeat; 4 background-position:-25px -374px; 5 height:16px; 6 width:24px;
15、7 text-align:center; 8 9 .btn a10 line-height:16px;11 display:block;12 text-decoration:none;13 14 .btn:hover15 background-position:-50px -374px;16 最終效果-鼠標(biāo)移入之前: 最終效果-鼠標(biāo)移入之后: 好啦,教程到這就結(jié)束了,小菜只是簡單的演示了一個完整的制作流程,中間還有很多細(xì)節(jié)問題,比如瀏覽器兼容、CSS優(yōu)化等等,這就需要讀者自己探索了。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地震預(yù)警員崗位面試問題及答案
- 櫥柜設(shè)計師崗位面試問題及答案
- 寵物醫(yī)生崗位面試問題及答案
- 沖壓工程師崗位面試問題及答案
- 2025屆陜西省寶雞市金臺高級中學(xué)高二化學(xué)第二學(xué)期期末監(jiān)測試題含解析
- 2025屆河南省商丘市城隍鄉(xiāng)湯莊中學(xué)高二下化學(xué)期末聯(lián)考模擬試題含解析
- 安徽省定遠(yuǎn)縣張橋中學(xué)2025年化學(xué)高二下期末學(xué)業(yè)水平測試模擬試題含解析
- 2025屆廣東省揭陽市惠來一中化學(xué)高二下期末學(xué)業(yè)水平測試模擬試題含解析
- 福建省福州市屏東中學(xué)2025屆高二下化學(xué)期末調(diào)研模擬試題含解析
- 四川省成都市溫江中學(xué)2025屆高一下化學(xué)期末經(jīng)典模擬試題含解析
- 頰間隙感染護(hù)理課件
- 聲發(fā)射技術(shù)裂紋監(jiān)測
- 憲法講解課件
- 機(jī)械CAD-CAM技術(shù)課件
- 2025-2030年環(huán)氧丙烷產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024年河南省澠池縣衛(wèi)生局公開招聘試題帶答案
- 預(yù)防新生兒嗆奶指南
- 消防課幼兒園課件
- 2025至2030中國新風(fēng)系統(tǒng)行業(yè)市場發(fā)展分析及發(fā)展前景與投融資報告
- 烹飪刀工考試題庫及答案
- 設(shè)備買賣合同作廢協(xié)議書
評論
0/150
提交評論