国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

你知道SVG Sprites是什么嗎,還在用css sprite就太low了

fevin / 2627人閱讀

摘要:它是基于,由聯(lián)盟進(jìn)行開(kāi)發(fā)的。是一種采用來(lái)描述二維圖形的語(yǔ)言這個(gè)大家都知道,那么元素是什么呢單純翻譯的話,是符號(hào)的意思,然我的理解是元素用來(lái)定義一個(gè)圖形模板對(duì)象,它可以用一個(gè)元素實(shí)例化。

  大家好,這里是@IT·平頭哥聯(lián)盟,我是首席填坑官——蘇南(South·Su),今天要給大家分享的是SVG Sprites(也叫雪碧圖),所謂雪碧圖,當(dāng)然就不是我們常喝的雪碧飲料(Sprites)哦,哈哈~

  當(dāng)下流程的移動(dòng)端,手機(jī)型號(hào)太多太多,今天工作項(xiàng)目中突然發(fā)現(xiàn)還有同事在使用以前大家 曾經(jīng)包括現(xiàn)在還很熟悉的CSS 圖片精靈,被我們的測(cè)試MM找來(lái)說(shuō)圖片在iphone6、iphone plus、iphone x等大屏的手機(jī)全糊了,當(dāng)時(shí)我就懵逼了,我說(shuō)怎么會(huì)呢,后面一看,果然如此啊,看了下代碼,原來(lái)是用的圖片,我說(shuō)為什么不用svg呢??然后同事說(shuō)一個(gè)一個(gè)的圖標(biāo)好麻煩,我說(shuō)可以用svg sprite啊,~~>﹏<,這個(gè)時(shí)候輪到同事一臉懵逼了……,所以想著可能是不是同樣還有很多同學(xué)也不知道SVG symbols呢,那么這就給大家分享一下:

SVG英文全稱為( Scalable Vector Graphics),意思為可縮放的矢量圖形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)聯(lián)盟進(jìn)行開(kāi)發(fā)的。嚴(yán)格來(lái)說(shuō)應(yīng)該是一種開(kāi)放標(biāo)準(zhǔn)的矢量圖形語(yǔ)言,可讓你設(shè)計(jì)激動(dòng)人心的、高分辨率的Web圖形頁(yè)面。SVG是一種采用XML來(lái)描述二維圖形的語(yǔ)言這個(gè)大家都知道,那么symbol元素是什么呢?單純翻譯的話,是“符號(hào)”的意思,然我的理解是symbol元素用來(lái)定義一個(gè)圖形模板對(duì)象,它可以用一個(gè)元素實(shí)例化。symbol元素對(duì)圖形的作用是在同一文檔中多次使用,添加結(jié)構(gòu)和語(yǔ)義,SVG是無(wú)論如何放大縮小都不會(huì)糊,而圖片當(dāng)展示的尺寸大于圖片本身,就會(huì)糊了,糊了,糊了……

.icon-sprite {
    width: 45px;
    height: 45px;
    background-image: url(https://github.com/meibin08/img/sprite_icon.png);
    background-size: 100px 350px;
    background-position: 0 -60px;//**重點(diǎn)在于它**
    background-repeat: no-repeat;
}

  在以前我們?yōu)榱诵阅軆?yōu)化,多圖標(biāo)合在一張圖上面,然后再使用css的 background-position,來(lái)定位,
好處是減少了頁(yè)面的加載,要命的問(wèn)題是定位遇到兼容問(wèn)題,1px.5px偏差時(shí),搞的你死去活來(lái),后來(lái)移動(dòng)端更是不清晰,被人罵了又罵。

  當(dāng)后來(lái)有一天,在一個(gè)月黑風(fēng)高、暴雨傾盆、雷電交加的夜晚,我獨(dú)自一人漫步在一片小樹林里,后來(lái)我發(fā)現(xiàn)了新大陸————SVG,當(dāng)然如果僅僅svg就我也就不會(huì)拿出來(lái)吹水,因?yàn)榭隙ㄊ菚?huì)被人噴的一臉口水的,但是如果再加上它的小弟——symbols? SVG symbols、SVG symbols、SVG symbols 重要的事說(shuō)三遍不過(guò)份吧,雙重組合(屠龍、倚天)試問(wèn)天下誰(shuí)敢它爭(zhēng)鋒?特別是SVG它還下面還有很多小弟哦~,……有點(diǎn)扯遠(yuǎn)了;這項(xiàng)技術(shù)基于兩個(gè)元素的使用:

從ps或者Illustrator創(chuàng)建并導(dǎo)出SVG圖標(biāo),源碼大概是這樣的:

 
    

重點(diǎn)來(lái)了,那么我們用symbols包裝后是這個(gè)樣子的:


  
    github
    
 

那么問(wèn)題來(lái)了,我們直接在頁(yè)面上引用嗎?結(jié)果是否定的,什么都不會(huì)顯示:


        
          
            github
            
         
        
    

那么該如何擺正姿勢(shì),正確的使用它呢?高潮部分來(lái)了:


        
          
            github
            
         
        
        1、使用方式一
        
          
        
        2、使用方式二,外鏈?zhǔn)揭?        
          
        
        
    

為什么圖標(biāo)會(huì)顯示呢?因?yàn)橐@示圖標(biāo),我們還需要使用元素,
通俗的講就是你定義了一組圖形對(duì)象(使用元素)之后,可以使用元素來(lái)對(duì)它進(jìn)行無(wú)限次實(shí)例化展示。你使用xlink:href屬性來(lái)指定你想要展示哪一組圖標(biāo)(相當(dāng)于css圖片精靈中的background-position),這里,我們要展示的是id為#svg-github的

大家可能還發(fā)現(xiàn)了style="display:none",你可以把它理解為是css sprite里的圖片base64轉(zhuǎn)化后的文件,而方法二里的xlink:href="./icon.svg#svg-github",可以理解為是css sprite里我們background-image 引入圖片一樣,而 #svg-github 就是background-position里的坐標(biāo),
還有顏色的改變,我們可以直接在svg內(nèi)的 path上寫行內(nèi)式 fill="#06c"、style="fill:#06c";都是可以的,在維護(hù)上,是不是比圖片更加方便呢???

當(dāng)然啦,大家都懂的,越漂亮的妹子追的人越多啦,代碼也一樣,越好用的東西往往也是不可能那么完美啦,看到這里,是不是覺(jué)得想罵娘呢?白看你說(shuō)這么多廢話,最后不能用,坑爹……
別慌,其實(shí)也沒(méi)有那么糟糕啦 ,SVG只在IE9以上支持;所以如果你需要支持IE8及以下的瀏覽器,你需要另外再寫一套降級(jí)(例如,使用png圖片方案),隨著科技的發(fā)展,IE9以上大多數(shù)人還是能接受啦,特別是手機(jī)端的用戶,再也不用擔(dān)心測(cè)試MM來(lái)找你,圖標(biāo)不清晰的問(wèn)題了啦,是不是很開(kāi)心,有沒(méi)有~~

總結(jié):
svg sprites相比css sprites,不管是在維護(hù)和開(kāi)發(fā)的過(guò)程中,還是在用戶體驗(yàn)、性能、項(xiàng)目迭代代碼維護(hù)上都比css sprites方便,更高效便捷;

svg sprites優(yōu)缺點(diǎn):

svg sprites使用xlink:href #id的方式獲取,便于維護(hù)和擴(kuò)展,因?yàn)樾D的id不會(huì)隨便改動(dòng);

方便改變圖片顏色,通過(guò)設(shè)置fill:顏色值,隨意改變小圖顏色;

IE9以上支持。

css sprites優(yōu)缺點(diǎn):

css sprites使用background-position不便于維護(hù)和擴(kuò)展、定位不精確等問(wèn)題,例如:在后期項(xiàng)目迭代中我們需要?jiǎng)h除其中一個(gè)小圖,那么排在它后面的小圖位置都要移動(dòng),需要再次修改csss樣式,或每次都要打開(kāi)PS刪除某圖標(biāo)再導(dǎo)出;

無(wú)法修改小圖顏色,要UI設(shè)計(jì)師調(diào)整后替換,過(guò)程漫長(zhǎng)效率低;

在移動(dòng)端的大屏手機(jī)圖標(biāo)會(huì)模糊,影響體驗(yàn)。

  以上就是今天的分享,寫了蠻久,最近才在開(kāi)始嘗試寫博客,新手上路中,如果文章中有不對(duì)之處,煩請(qǐng)各位大神斧正。如果你覺(jué)得這篇文章對(duì)你有所幫助,請(qǐng)記得點(diǎn)贊哦~,如覺(jué)得不錯(cuò),記得關(guān)注我們的公眾號(hào)哦!!

更多文章:

做完小程序項(xiàng)目、老板給我加了6k薪資~
面試踩過(guò)的坑,都在這里了~
你應(yīng)該做的前端性能優(yōu)化之總結(jié)大全!
手把手教你如何繪制一輛會(huì)跑車
如何用CSS3畫出懂你的3D魔方?
immutability因React官方出鏡之使用總結(jié)分享!

作者:蘇南 - 首席填坑官
交流群:912594095,公眾號(hào):honeyBadger8
本文原創(chuàng),著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系@IT·平頭哥聯(lián)盟獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明原鏈接及出處。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/116962.html

相關(guān)文章

  • 淺探前端圖片優(yōu)化

    摘要:性能優(yōu)化是前端開(kāi)發(fā)必不可少的一環(huán),而圖片優(yōu)化又是性能優(yōu)化中必不可少的一環(huán),但不知道有多少開(kāi)發(fā)者在網(wǎng)頁(yè)的開(kāi)發(fā)過(guò)程中會(huì)注意圖片的使用,圖片使用不當(dāng)可能會(huì)導(dǎo)致網(wǎng)頁(yè)加載卡頓網(wǎng)頁(yè)加載速度慢等問(wèn)題,這篇文章將會(huì)將我以往對(duì)圖片的處理做個(gè)總結(jié)。 性能優(yōu)化是前端開(kāi)發(fā)必不可少的一環(huán),而圖片優(yōu)化又是性能優(yōu)化中必不可少的一環(huán),但不知道有多少開(kāi)發(fā)者在網(wǎng)頁(yè)的開(kāi)發(fā)過(guò)程中會(huì)注意圖片的使用,圖片使用不當(dāng)可能會(huì)導(dǎo)致網(wǎng)頁(yè)加...

    CocoaChina 評(píng)論0 收藏0
  • 淺探前端圖片優(yōu)化

    摘要:性能優(yōu)化是前端開(kāi)發(fā)必不可少的一環(huán),而圖片優(yōu)化又是性能優(yōu)化中必不可少的一環(huán),但不知道有多少開(kāi)發(fā)者在網(wǎng)頁(yè)的開(kāi)發(fā)過(guò)程中會(huì)注意圖片的使用,圖片使用不當(dāng)可能會(huì)導(dǎo)致網(wǎng)頁(yè)加載卡頓網(wǎng)頁(yè)加載速度慢等問(wèn)題,這篇文章將會(huì)將我以往對(duì)圖片的處理做個(gè)總結(jié)。 性能優(yōu)化是前端開(kāi)發(fā)必不可少的一環(huán),而圖片優(yōu)化又是性能優(yōu)化中必不可少的一環(huán),但不知道有多少開(kāi)發(fā)者在網(wǎng)頁(yè)的開(kāi)發(fā)過(guò)程中會(huì)注意圖片的使用,圖片使用不當(dāng)可能會(huì)導(dǎo)致網(wǎng)頁(yè)加...

    X1nFLY 評(píng)論0 收藏0
  • 前端硬核面試專題之 CSS 55 問(wèn)

    摘要:前言本文講解道前端面試的的內(nèi)容。文章原文地址前端硬核面試專題之問(wèn)。前端硬核面試專題的完整版在此前端硬核面試專題,包含數(shù)據(jù)結(jié)構(gòu)與算法。 showImg(https://segmentfault.com/img/bVbv2GE?w=900&h=400); 前言 本文講解 55 道前端面試的 CSS 的內(nèi)容。 復(fù)習(xí)前端面試的知識(shí),是為了鞏固前端的基礎(chǔ)知識(shí),最重要的還是平時(shí)的積累! 注意:文章...

    崔曉明 評(píng)論0 收藏0
  • 前端面試筆記 - css

    摘要:是頁(yè)面渲染的一部分。一個(gè)就是一個(gè)整體,所有子元素都會(huì)在里面渲染,而不會(huì)影響外面的元素。常見(jiàn)為,根元素,,元素,或者設(shè)置了的元素列舉不同的清除浮動(dòng)的技巧,并指出它們各自適用的使用場(chǎng)景。是一個(gè)把眾多小圖片打包成一個(gè)大圖以減少請(qǐng)求。 CSS 中類 (classes) 和 ID 的區(qū)別。 id唯一,class可以多個(gè) 請(qǐng)問(wèn) resetting 和 normalizing CSS 之間的區(qū)別?你...

    loonggg 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<