A. 嘿!設計師 | 前端們說的「雪碧圖」是什麼
通常來說,完成設計稿後設計師會使用設計軟體中的切圖插件來進行切圖。用ps設計有切圖神器cutterman,而設計新秀sketch也有許多不同的切圖插件,它們可以很方便地導出圖片,甚至能同時導出一倍圖和二倍圖,這可以滿足我們絕大多數的需求。
但是,當圖片很多時,這種方式不僅會傷害設計師的雙手,也會因為大量的資源請求導致網頁打開速度下降。這時候,雪碧圖的優勢就體現出來了,雪碧圖本質上就是將眾多圖片拼貼為一張作為背景圖片引用。
在詳細介紹雪碧圖之前,先說說背景圖片的概念。前端在構建網頁結構時,會使用很多的塊元素堆疊嵌套,比如大標題< h1 >、段落< p >、圖片< img >等,圖片標簽< img >就是將圖片引用進來直接顯示,而背景圖片則是給< h1 >等元素的背景設置為圖片。就好比給電腦設置背景圖片,你可以控制它是自適應還是原始大小,重復或者不重復,同樣地在網頁中每個塊元素的背景圖片,可以控制它的適應方式、是否重復以及顯示位置等。
當我們給一個元素設置固定大小,讓它的背景圖片位置進行變化,就好像顯示出了不同的圖片,這就是雪碧圖的原理,有點類似ps里的創建剪切蒙版。下圖左邊就是網易雲音樂的一張雪碧圖,右側就是用剪切蒙版演示的雪碧圖原理。
一般來說,在某一模塊(比如一個播放器)需要的圖片很多而每張圖片又不是很大時,可以考慮切成雪碧圖交給前端。但目前很多前端構建工具裡面有雪碧圖合並功能,所以如果前端使用了構建工具可以把合並的功能交給前端。
雪碧圖還有一個妙用,那就是替代gif。設計師都知道,透明背景的gif動圖在導出時回帶有毛邊,在顏色反差很大的背景色上更明顯。因此,可以考慮將多幀圖片橫向排列,以雪碧圖的形式每隔固定時間改變背景圖片的位置,因為本質上還是png圖片,所以毛邊的情況就可以解決了。可以參考我之前的文章: 透明背景gif圖的鋸齒是個什麼鬼? 。
那麼問題來了,為什麼叫「雪碧圖」呢?叫「可樂圖」、「芬達圖」、「王老吉圖」不行嗎?這個,我也不知道。
B. 闊充箰妯℃澘闊充箰鑳屾櫙鏂滃睆鎬庝箞寮勭殑
1. 瑕佸湪闊充箰妯℃澘涓娣誨姞闊充箰鑳屾櫙騫朵嬌鍏跺憟鐜版枩灞忔晥鏋滐紝鎮ㄥ彲浠ユ寜鐓т互涓嬫ラよ繘琛屾搷浣滐細
瑙i噴錛氶煶涔愭ā鏉塊氬父鏄鎸囩敤浜庡埗浣滈煶涔愯嗛戞垨闊充箰鐩稿叧鍐呭圭殑妯℃澘銆傚皢闊充箰鑳屾櫙璁劇疆涓烘枩灞忓彲浠ュ炲姞瑙嗚夋晥鏋滃拰鍒涙剰鍏冪礌銆
浠ヤ笅鏄瀹炵幇闊充箰鑳屾櫙鏂滃睆鏁堜婦寰℃灉鐨勪竴鑸姝ラわ細
1. 瀵煎叆闊充箰鑳屾櫙錛氶栧厛錛屽皢鎮ㄦ兂瑕佷綔涓洪煶涔愯儗鏅鐨勮嗛戞垨鍥劇墖瀵煎叆鍒伴煶涔愭ā鏉跨紪杈戣蔣浠舵垨宸ュ叿涓銆傜『淇濇偍閫夋嫨鐨勯煶涔愯儗鏅涓庢ā鏉跨殑灝哄稿拰鏍煎紡瑕佹眰鐩稿尮閰嶃
1. 璋冩暣鐢婚潰瑙掑害錛氬湪緙栬緫杞浠朵腑錛屾壘鍒拌嗛戞垨鍥劇墖鐨勬棆杞鎴栬漿鎹㈤夐」銆傞氬父錛岃繖浜涢夐」浣嶄簬緙栬緫宸ュ叿鏍忔垨鑿滃崟涓銆傞夋嫨鏃嬭漿鎴栬漿鎹㈠姛鑳斤紝騫惰劇疆鎵闇鐨勬枩灞忚掑害銆傛偍鍙浠ヨ緭鍏ュ叿浣撶殑瑙掑害鍊礆紝鎴栬呴氳繃鎷栧姩璋冭妭婊戝潡鏉ュ疄鐜版枩灞忔晥鏋溿
1. 璋冩暣鐢婚潰浣嶇疆錛氬綋灝嗛煶涔愯儗鏅鏃嬭漿涓烘枩灞忓悗錛岄氬父浼氬嚭鐜伴粦杈規垨鐢婚潰瓚呭嚭妯℃澘鑼冨洿鐨勬儏鍐點傚湪緙栬緫杞浠朵腑錛屾煡鎵劇敾闈浣嶇疆鎴栬佸壀閫夐」錛屽皢鐢婚潰璋冩暣鍒伴傚悎妯℃澘鐨勪綅緗錛屽苟紜淇濈敾闈㈠~婊℃暣涓妯℃澘鍖哄煙銆
1. 娣誨姞鍏朵粬鍏冪礌錛氭牴鎹闇瑕侊紝鎮ㄥ彲浠ュ湪鏂滃睆闄絳旂跨殑闊充箰鑳屾櫙涓婃坊鍔犲叾浠栧厓緔狅紝濡傛枃鏈銆佸姩鐢繪晥鏋溿佸浘鍍忕瓑銆傝繖灝嗗炲姞闊充箰妯℃澘鐨勫壋鎰忓拰瑙嗚夊惛寮曞姏銆
1. 棰勮堝拰瀵煎嚭錛氬湪瀹屾垚闊充箰鑳屾櫙鐨勬枩灞忚劇疆鍚庯紝棰勮堟暣涓闊充箰妯℃澘錛岀『淇濇晥鏋滅﹀悎棰勬湡銆傛渶鍚庯紝瀵煎嚭鎮ㄧ殑闊充箰妯℃澘錛屼互渚垮湪闇瑕佹椂榪涜屽垎浜鎴栦嬌鐢ㄣ
鎷撳睍鍐呭癸細鍏蜂綋鐨勬ラゅ拰鎿嶄綔鍙鑳藉洜浣跨敤鐨勯煶涔愭ā鏉跨紪杈戣蔣浠舵垨宸ュ叿鑰屾湁鎵宸寮傘傝峰弬鑰冩偍鎵浣跨敤杞浠剁殑鐢ㄦ埛鎵嬪唽銆佸畼鏂規枃妗f垨鍦ㄧ嚎鏁欑▼錛屼簡瑙f洿璇︾粏鐨勬搷浣滄寚鍗楀拰鐗瑰畾杞浠剁殑鍔熻兘銆
鎬葷粨錛氳佸湪闊充箰妯℃澘涓瀹炵幇闊充箰鑳屾櫙鐨勬枩灞忔晥鏋滐紝鎮ㄥ彲浠ュ煎叆闊充箰鑳屾櫙錛岃皟鏁寸敾闈㈣掑害鍜屼綅緗錛屾坊鍔犺姦瀛濆叾浠栧厓緔狅紝騫舵渶緇堥勮堝拰瀵煎嚭闊充箰妯℃澘銆傜『淇濆弬鑰冩墍浣跨敤杞浠剁殑鎸囧崡鍜屾暀紼嬶紝浠ヨ幏鍙栨洿鍏蜂綋鐨勬搷浣滄ラゅ拰鎶宸с
C. 鐩存挱闂磋儗鏅鍥劇墖緔犳潗-濡備綍璁劇疆鐩存挱鍦烘櫙錛
鎶栭煶鏃犱漢闊充箰鐩存挱闂寸礌鏉愯儗鏅鍝閲屾湁鎶栭煶鏃犱漢闊充箰鐩存挱闂寸礌鏉愯儗鏅濡備笅銆
1銆佹姈闊崇礌鏉愬簱:鎵撳紑鎶栭煶APP,鍦ㄩ栭〉涓嬫柟鑿滃崟鏍忎腑鐐瑰嚮鈥滄垜鈥,榪涘叆涓浜轟富欏靛悗,鐐瑰嚮鍙充笂瑙掔殑鈥滀笁鐐光濆浘鏍,閫夋嫨鈥滃壋浣滀腑蹇冣濋夐」,鐒跺悗閫夋嫨鈥滈煶涔愮礌鏉愬簱鈥濇垨鈥滆嗛戠礌鏉愬簱鈥濋夐」,鍙浠ユ祻瑙堝苟涓嬭澆鍚勭嶉煶涔愬拰瑙嗛戠礌鏉愩
2銆佺涓夋柟緔犳潗緗戠珯:鍦ㄧ綉緇滀笂鎼滅儲鎶栭煶闊充箰緔犳潗銆佹姈闊崇洿鎾闂磋儗鏅緔犳潗絳夊叧閿璇,鍙浠ユ壘鍒板緢澶氭彁渚涘厤璐規垨浠樿垂緔犳潗涓嬭澆鐨勭綉絝,渚嬪傜礌鏉愪腑鍥姐佸崈鍥劇綉絳夈
3銆佽嚜宸卞埗浣:濡傛灉鎯寵佹洿鍔犱釜鎬у寲鐨勭洿鎾闂磋儗鏅緔犳潗,鍙浠ヨ嚜宸卞埗浣,渚嬪傛媿鎽勮嚜宸卞枩嬈㈢殑椋庢櫙銆佷漢鐗╃瓑,鎴栬呬嬌鐢ㄥ悇縐嶅浘鐗囥佽嗛戠紪杈戣蔣浠惰繘琛屽壋浣滃拰緙栬緫銆
鐩存挱鏃跺備綍璁劇疆鉶氭嫙鑳屾櫙錛涓.鎵撳紑鎾鍔╂墜鐨勪富鐣岄潰鏄榪欐牱鐨勫傚浘鎵紺,涓昏佺敱鐢婚潰鍜屾帶鍒跺彴鏋勬垚榪欓噷璇︾粏浠嬬粛鉶氭嫙鑳屾櫙鐨勪嬌鐢ㄦ柟娉曘傞栧厛鎵撳紑鎽勫儚澶,鐐瑰嚮鎺у埗鍙扮殑鎽勫儚澶,濡備笅鍥炬墍紺轟綅緗
2
浜.鎵撳紑鎽勫儚澶村悗,鍙鍦ㄥ垏鎹㈡憚鍍忓ご閲岄夋嫨鑷宸遍渶瑕佺敤鍒扮殑鎽勫儚澶,鐢婚潰鍒嗚鯨鐜囬粯璁ゆ帹鑽愬氨濂,涓繪挱涔熷彲浠ユ牴鎹瀹為檯闇瑕侀夋嫨
3
涓.璁劇疆鉶氭嫙鑳屾櫙
濡備綍璁劇疆鐩存挱鍦烘櫙錛榪欎釜闂棰樹富瑕佹湁涓変釜榪熸暎闂,鎴戝敖閲忛兘浜堜互瑙g噧鍚絳斻
棣栧厛,鐩存挱鏃剁殑鍦虹毊鏃﹀傛櫙鎬庝箞璁劇疆銆
鐩存挱鍦烘櫙鐨勮劇疆鐩稿圭畝鍗,涓鑸鏄灝嗗仛濂界殑緔犳潗(閫氬父鏄鍥劇墖,涔熷彲浠ユ槸gif銆佽嗛戠瓑)閫愪竴娣誨姞鍒扮洿鎾宸ュ叿涓鐒跺悗璋冩暣濂戒綅緗鍗沖彲銆
鍒嗗埆娣誨姞浜嗘眰紺肩墿鐨勬寕浠躲丅GM鎸備歡銆佷漢鐗╀粙緇嶇殑鍚嶇墝浠ュ強涓嬮洦鐨勭伅鍏夊姩鏁堛
涓婂浘榪欑嶇粍鍚堜竴璧風殑緔犳潗鎴戜滑縐頒箣涓轟富棰,鍙浠ユ牴鎹娓告垙銆佺洿鎾椋庢牸銆佸晢涓氬箍鍛婅繘琛屼笉鍚岄庢牸鐨勮捐″拰鎼閰嶃傚綋鐒,闄や簡鑷宸辯粍鍚堝栦篃鍙浠ラ氳繃浣跨敤ps絳夊伐鍏峰皢鍚勭被鍏冪礌鎷煎悎鎴愪竴涓鍥劇墖,榪欑嶆垜浠鍙鍋氬満鏅妯℃澘鎴栬呯洿鎾鑳屾櫙,濡備笅鍥:
鍏舵,鍒朵綔鎴栬劇疆鐩存挱鍦烘櫙妯℃澘鏃跺簲璇ユ敞鎰忓摢浜涢棶棰樸
鍒朵綔鍦烘櫙妯℃澘搴旇ユ敞鎰忚繖鍑犵偣:
1.娓告垙綾誨瀷
涓嶅悓鐨勬父鎴忔牴鎹鍏舵父鎴忛庢牸鐨勪笉鍚,緔犳潗鍜屼富棰樼殑椋庢牸涔熸湁鎵涓嶅悓銆傚傚悆楦℃父鎴忓氨涓嶅簲鏈夊ぇ闈㈢Н鐨勫浘鐗囧圭敾闈㈤伄鎸,鑰屾墜娓稿洜鍏剁敾闈㈠皬鍙浠ュ姞鍚勭嶈姳鍝ㄧ殑杈規嗐傚彟澶栨敞鎰忕礌鏉愮殑棰滆壊鏃涓嶈佹憾鍏ユ父鎴忎篃涓嶈佸お椴滆壋鎶㈢溂鐞冦
2.緔犳潗鐨勫ぇ灝
閫氬父鏉ヨ寸洿鎾鐨勫垎杈ㄧ巼鏄1920*1080,閭d箞鍦ㄥ埗浣滅洿鎾妯℃澘鏃跺氨涓嶈兘閫夋嫨澶灝忕殑鍥劇墖瀵艱嚧鐪嬩笉娓呫
3.緔犳潗鐨勪綅緗
緔犳潗鎽嗘斁鐨勪綅緗涔熷彇鍐充簬娓告垙鐨勭敾闈㈠拰緔犳潗鐨勯滆壊銆佸ぇ灝忋傚敖閲忛伩鍏嶄笂榪扮殑闂棰樸
鏈鍚,鍝閲屾湁鍏嶈垂鍦烘櫙妯℃澘緔犳潗涓嬭澆銆
榪欎釜鐪嬩綘鐨勮佹眰,濡傛灉浣犵啛緇冩帉鎻ps絳夊埗鍥炬妧鏈涓鑸榪欑嶅氨鏄鍘誨悇澶у浘鐗囩礌鏉愮綉絝欐壘鑷宸卞枩嬈㈢殑緔犳潗鐒跺悗鑷宸辨嫾鍚堝仛銆
濡傛灉浣犱笉浼氬埗浣滃満鏅妯℃澘緔犳潗,鍙堜笉鎯寵姳閽變拱鐨勮瘽,鍙浠ュ幓榪欎釜緗戝潃涓嬭澆:鐩存挱妯℃澘鍏嶈垂涓嬭澆,榪欎釜鏄姝ゅ埢涓繪挱鍔╂墜瀹樼綉鏀懼嚭鐨勫厤璐逛富棰樻ā鏉,縐嶇被姣旇緝澶,涓斿厤璐廣
D. 璺鐗逛粫瀵艱埅涓浣撴満闊充箰鑳屾櫙鍥炬庝箞璁劇疆
1銆侀栧厛闇瑕佷竴涓猽鐩橈紝鍦╱鐩橀噷闈㈡彁鍓嶄笅杞藉ソ澹佺焊銆
2銆佸叾嬈★紝鎻掑叆u鐩橈紝鐐瑰嚮涓鎺ч儜綰沖瀷灞忚寗鐬庡箷涓鐨勫浘鐗囧枈鐚滐紝鎵懼埌浣犲瓨鏀懼浘鐗囩殑鏂囦歡錛岀偣鍑誨浘鐗囥
3銆佹渶鍚庡啀嬈$偣鍑誨浘鐗囷紝瑁佸壀澶у皬錛岀偣鍑葷『瀹氬嵆鍙銆傝礬鐗逛粫鏄鎯犲窞甯傚嚡瓚婄數瀛愭湁闄愬叕鍙告棗涓嬩竴嬈捐嚜甯﹂煶涔恏ifi妯″潡鐨勬苯杞﹀獎闊沖艱埅浜у搧錛岄厤濂楃郴緇熶負Android緋葷粺銆