<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        CSSSprite從大圖中截取小圖的解析

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 18:48:27
        文檔

        CSSSprite從大圖中截取小圖的解析

        CSSSprite從大圖中截取小圖的解析:這篇文章主要介紹了CSS Sprite從大圖中截取小圖完整教程的相關(guān)資料,需要的朋友可以參考下相信很多喜歡研究網(wǎng)頁界面的童鞋都遇到過一個奇妙的現(xiàn)象:網(wǎng)頁中很多圖片素材被合成在一張圖片上。起初小菜模仿網(wǎng)站的時候,經(jīng)常遇到這個現(xiàn)象,那時候也不知道這時什么
        推薦度:
        導(dǎo)讀CSSSprite從大圖中截取小圖的解析:這篇文章主要介紹了CSS Sprite從大圖中截取小圖完整教程的相關(guān)資料,需要的朋友可以參考下相信很多喜歡研究網(wǎng)頁界面的童鞋都遇到過一個奇妙的現(xiàn)象:網(wǎng)頁中很多圖片素材被合成在一張圖片上。起初小菜模仿網(wǎng)站的時候,經(jīng)常遇到這個現(xiàn)象,那時候也不知道這時什么
        這篇文章主要介紹了CSS Sprite從大圖中截取小圖完整教程的相關(guān)資料,需要的朋友可以參考下

        相信很多喜歡研究網(wǎng)頁界面的童鞋都遇到過一個奇妙的現(xiàn)象:網(wǎng)頁中很多圖片素材被合成在一張圖片上。

        起初小菜模仿網(wǎng)站的時候,經(jīng)常遇到這個現(xiàn)象,那時候也不知道這時什么技術(shù),人家的整張圖片素材不會利用,只能用ps切圖,切成單個的再用。。

        其實,這是一個非常簡單的技術(shù),就是因為想象的太難了,才一直找不到問題的關(guān)鍵。

        要想實現(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)單擊事件,但是不能把背景圖直接加在超鏈接上,那樣就不叫樣式啦,因為超鏈接的文本長度變化時,樣式也變了。

        地球人一般的做法是,p里邊套一個超鏈接,超鏈接負責(zé)實現(xiàn)功能,p負責(zé)裝載背景圖。html結(jié)構(gòu)如下:

        <p class="btn">
         <a href="<a href="http://www.gxlcms.com">+1</a">http://www.gxlcms.com">+1</a</a>>
        </p>

        有了html骨架,接下來就要寫css樣式啦。

        假如我們什么都不考慮,直接把整張圖片設(shè)為背景,樣式如下:

        .btn{ background:url(bg.png);}

        效果如圖:

        p是塊級元素,默認是占一行的,這個先不用關(guān)心,但看到背景圖重復(fù)了,這顯然不是我們想要的,加上background-repeat:no-repeat;屬性,改進樣式如下:

        .btn{ background:url(bg.png); background-repeat:no-repeat;}

        這樣就不重復(fù)了。

        p可以理解成一個矩形框,它的左上角是頂點,背景圖片的頂點也是左上角,p加載背景圖時,會把兩個頂點重合,頂點的坐標(biāo)是(0,0)。不理解的看圖,很簡單的。。

        +1的小圖片混雜在大圖中,想提取出來,需要用background-position屬性,這個屬性相當(dāng)于大圖片不動,把p的頂點進行移動,移動到目標(biāo)小圖的頂點位置,如下圖:

        這樣一來,p中顯示的就是小圖了,但是,顯示的還不僅僅是小圖,而是圖中陰影部分,怎么辦呢?設(shè)置一下p的寬、高,讓它和小圖的寬、高一樣就可以了唄?。?/p>

        再來看看background-position屬性,它有兩個參數(shù),分別是水平方向移動的像素、豎直方向移動的像素,都用負數(shù)表示。大圖不動,p移動,也只能是向右、向下移動,只要記住這兩個方向移動的像素都用負數(shù)表示就行了!

        因此,只要找到小圖相對于大圖左上角頂點的水平移動像素、豎直移動像素就可以了。小菜也不用什么專業(yè)工具,用截圖就很方便,從大圖左上角頂點開始截,到小圖頂點那停下來,一看像素就差不多了,然后再調(diào)試調(diào)試,基本就搞定。

        在本例中,A小圖的位移是:-25px -374px,A小圖尺寸是:24px 16px。因此,css樣式如下:

        .btn{
         background:url(bg.png);
         background-repeat:no-repeat;
         background-position:-25px -374px;
         height:16px;
         width:24px;
        }

        效果如下:

        這樣就算是把小圖摳出來啦!簡單吧!!

        先解釋個問題,圖片上有+1,而我又在超鏈上寫了一個+1,這是因為很多時候文本內(nèi)容不是寫在圖片上的,那樣靈活性太差,文本就是文本,小菜為了給大家一個完整的演示,因此又寫了一個+1,接下來就處理它!

        先把+1居中,居中分為水平居中和垂直居中,水平居中超鏈接,需要在p上設(shè)置text-align:center;,這個屬性是對子節(jié)點而言的;垂直居中p中的超鏈接,只需要把a標(biāo)簽的line-height屬性設(shè)成和p的高度一樣即可。樣式如下:

        .btn{
         background:url(bg.png);
         background-repeat:no-repeat;
         background-position:-25px -374px;
         height:16px;
         width:24px;
         text-align:center;
        }
        .btn a{
         line-height:16px;
        }

        效果如下:

        接下來呢,還有問題,我們可以發(fā)現(xiàn),只有當(dāng)鼠標(biāo)移到+1文本上時,鼠標(biāo)才會變成手型,才能響應(yīng)事件。

        這顯然不是我們想要的,應(yīng)該是鼠標(biāo)移入圖片時,確切的說是鼠標(biāo)移入p時,就可以變成手型,也能響應(yīng)事件。

        這也簡單,只需要在a標(biāo)簽(超鏈接)上加display:block;屬性即可。

        另外這個下劃線比較礙眼,用text-decoration:none;屬性去掉,很常見,就不多說了。

        樣式如下:

        .btn{
         background:url(bg.png);
         background-repeat:no-repeat;
         background-position:-25px -374px;
         height:16px;
         width:24px;
         text-align:center;
        }
        .btn a{
         line-height:16px;
         display:block;
         text-decoration:none;
        }

        接下來就剩最后一件事了,那就是鼠標(biāo)移入的時候切換背景。

        本例是p里邊套a標(biāo)簽,鼠標(biāo)移入換背景,當(dāng)然是指鼠標(biāo)移入p,而且換背景也是換p的背景,可不是a標(biāo)簽的哦!!

        因此要在p標(biāo)簽上調(diào)用hover,p的樣式是btn,因此寫成.btn:hover{}。

        換背景還需要找到背景圖片,這又需要摳小圖了,也就是摳上邊指出的B圖。

        剛剛顯示的是A小圖,B小圖和A小圖在同一水平線上,因此豎直方向的移動像素是相同的,水平方向差不就是A小圖的水平像素加上A小圖的寬度。

        經(jīng)過測試,B小圖的位移是:-50px -374px,尺寸大小就不用關(guān)心了,肯定和A小圖一樣,不一樣就沒法做了。

        把B小圖的定位background-position:-50px -374px;放在.btn:hover{}里即可。

        樣式如下:

        .btn{
         background:url(bg.png);
         background-repeat:no-repeat;
         background-position:-25px -374px;
         height:16px;
         width:24px;
         text-align:center;
        }
        .btn a{
         line-height:16px;
         display:block;
         text-decoration:none;
        }
        .btn:hover{
         background-position:-50px -374px;
        }

        最終效果-鼠標(biāo)移入之前:

        最終效果-鼠標(biāo)移入之后:

        好啦,教程到這就結(jié)束了,小菜只是簡單的演示了一個完整的制作流程,中間還有很多細節(jié)問題,比如瀏覽器兼容、CSS優(yōu)化等等,這就需要讀者自己探索了。

        其實小菜一直在說的CSS摳圖,真正的技術(shù)名叫CSS Sprite技術(shù),國人習(xí)慣叫CSS精靈。

        這種技術(shù)有好處也有壞處,好處是由于圖片都放在一起,請求時只需請求一張圖片,減少了與服務(wù)器的交互次數(shù),還可以解決hover延遲加載的問題。壞處就是不好控制,擴展性不太好,以后有改動,可謂是牽一發(fā)而動全身,而且有時會因為屏幕分辨率不同出現(xiàn)背景斷裂現(xiàn)象。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CSSSprite從大圖中截取小圖的解析

        CSSSprite從大圖中截取小圖的解析:這篇文章主要介紹了CSS Sprite從大圖中截取小圖完整教程的相關(guān)資料,需要的朋友可以參考下相信很多喜歡研究網(wǎng)頁界面的童鞋都遇到過一個奇妙的現(xiàn)象:網(wǎng)頁中很多圖片素材被合成在一張圖片上。起初小菜模仿網(wǎng)站的時候,經(jīng)常遇到這個現(xiàn)象,那時候也不知道這時什么
        推薦度:
        標(biāo)簽: 圖片 圖片的 小圖
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人免费手机在线观看视频| 国产va在线观看免费| 在线视频观看免费视频18| 久久久亚洲精品视频| 美女视频黄a视频全免费网站色窝| 久久亚洲AV永久无码精品| 人人鲁免费播放视频人人香蕉| 波多野结衣免费视频观看| 日韩国产欧美亚洲v片| 国产成人免费网站在线观看| 色婷婷六月亚洲综合香蕉| 亚洲成片观看四虎永久| 一本久久A久久免费精品不卡| 亚洲精品无码av天堂| 青青操视频在线免费观看| 亚洲欧洲在线观看| 国产在线jyzzjyzz免费麻豆| 亚洲一区二区三区高清视频| 免费无码又爽又刺激高潮的视频| 亚洲AV香蕉一区区二区三区| 午夜亚洲福利在线老司机| 国产成人+综合亚洲+天堂| 日韩亚洲精品福利| 久久毛片免费看一区二区三区| 亚洲成AV人片在WWW色猫咪| 亚洲国产精品免费在线观看| 亚洲一区二区三区在线网站 | 三上悠亚在线观看免费| 亚洲视频在线观看免费| 猫咪社区免费资源在线观看| 色噜噜噜噜亚洲第一| 国产aⅴ无码专区亚洲av| 在线观看H网址免费入口| 亚洲成在人线aⅴ免费毛片| 中文字幕日韩亚洲| 1024免费福利永久观看网站| 免费人成又黄又爽的视频在线电影| 亚洲精品无码精品mV在线观看 | 成人免费a级毛片无码网站入口| 国产成人亚洲精品电影| 亚洲AV日韩AV天堂久久|