摘要:限制不高于的單張圖片整合處理圖片的目的是減少請求次數(shù),如果每一張圖片都向服務(wù)器發(fā)送請求,即影響服務(wù)器負(fù)載也影響頁面性能。
為紀(jì)念美國現(xiàn)代舞舞蹈家瑪莎·葛蘭姆誕辰,Google Doodle推出了一款極其炫酷的LOGO,整個LOGO使用CSS Sprite技術(shù),利用一個初始圖片和一張畫滿各個動作的拼接圖片,實現(xiàn)了動畫,而非傳統(tǒng)的GIF動畫圖像。
原文查看效果
CSS Sprite簡介CSS Sprites(css精靈),是一種網(wǎng)頁圖片應(yīng)用處理方式。它允許你將一個頁面涉及到的所有零星圖片都包含到一張大圖中去,這樣一來,當(dāng)訪問該頁面時,載入的圖片就不會像以前那樣一幅一幅地慢慢顯示出來了。
限制:不高于200KB的單張圖片
整合處理圖片的目的是減少請求次數(shù),如果每一張圖片都向服務(wù)器發(fā)送請求,即影響服務(wù)器負(fù)載也影響頁面性能。
CSS Sprite原理CSS Sprites的原理就是把網(wǎng)頁中用到的小圖標(biāo)、圖片類集中整合到一張圖片中。
再利用CSS中的背景屬性
background-image
background-repeat
background-position
當(dāng)需要顯示指定圖片時,定位到圖片相應(yīng)位置即可
Google粘土動畫實現(xiàn)步驟:
1、準(zhǔn)備素材,設(shè)計動畫的每一幀圖片并整合成一張圖片
2、監(jiān)聽點擊事件執(zhí)行動畫
3、根據(jù)延遲時間設(shè)置圖片背景位置以顯示下一幀圖片
JS
Google舞蹈者
實現(xiàn)步驟:
1、準(zhǔn)備素材,收集舞蹈者每一個動作集成到一張圖片
2、初始化每一個動作的位置
3、定時動態(tài)創(chuàng)建div元素設(shè)置背景位置和元素位置
JS
(function () { window.google={}; if (!google.doodle) google.doodle = {}; var d = [ [307, 48, 88, 89], [307, 48, 89, 89], [307, 48, 91, 89], [305, 49, 93, 89], [305, 50, 93, 88], [305, 50, 93, 88], [306, 52, 92, 86], [305, 53, 93, 84], [305, 54, 94, 83], [306, 54, 93, 83], [307, 54, 92, 83], [307, 54, 92, 83], [308, 54, 90, 83], [308, 54, 90, 83], [306, 53, 91, 84], [306, 53, 91, 84], [308, 53, 90, 84], [308, 53, 90, 84], [305, 53, 92, 84], [305, 52, 92, 85], [306, 52, 91, 85], [308, 51, 88, 87, 1], [308, 50, 88, 88], [308, 49, 88, 88], [307, 49, 89, 88], [307, 50, 89, 87], [308, 51, 89, 86], [307, 54, 90, 83], [307, 57, 90, 80], [306, 58, 92, 79], [306, 58, 92, 79], [305, 60, 92, 77], [302, 61, 95, 76], [302, 63, 95, 74], [302, 51, 96, 86], [302, 66, 98, 71], [304, 67, 96, 69], [301, 63, 96, 74], [301, 58, 93, 79], [291, 52, 94, 85], [288, 50, 71, 88], [285, 43, 76, 95], [285, 37, 70, 101], [281, 29, 55, 109], [278, 20, 58, 119], [278, 20, 55, 119, 1], [277, 12, 121, 127], [271, 2, 122, 138], [267, 1, 126, 139], [264, 0, 136, 140], [260, 0, 141, 140], [255, 0, 148, 140], [252, 0, 151, 140], [249, 2, 121, 138], [247, 3, 123, 137], [246, 3, 123, 137], [246, 2, 124, 137], [258, 2, 112, 137], [263, 2, 106, 137], [263, 2, 106, 137], [262, 2, 103, 137], [260, 2, 104, 136], [260, 2, 104, 137, 1], [268, 2, 98, 137], [267, 2, 99, 137], [266, 2, 97, 137], [266, 3, 96, 136], [264, 3, 99, 136], [263, 3, 100, 136], [261, 3, 100, 136], [259, 2, 138, 137], [254, 2, 126, 137], [247, 2, 101, 136], [240, 2, 108, 136], [238, 1, 110, 137], [230, 1, 118, 138], [220, 15, 128, 124], [211, 18, 137, 121], [205, 43, 102, 96], [202, 45, 104, 93], [200, 38, 97, 101], [198, 38, 104, 101, 1], [197, 39, 107, 100], [197, 39, 112, 100], [213, 39, 94, 110], [212, 40, 95, 111], [211, 41, 97, 111], [209, 42, 99, 112], [209, 43, 98, 112], [213, 43, 87, 112], [213, 42, 83, 113], [211, 40, 86, 109], [211, 38, 86, 103], [211, 37, 88, 112], [211, 20, 186, 131], [213, 27, 167, 122], [212, 44, 87, 105], [210, 44, 88, 98], [195, 44, 106, 98], [189, 44, 110, 98], [182, 46, 117, 99], [173, 44, 118, 96, 1], [161, 43, 130, 99], [154, 42, 137, 97], [153, 42, 137, 97], [153, 42, 137, 97], [152, 41, 137, 98], [151, 41, 137, 97], [149, 41, 145, 97], [148, 25, 144, 114], [148, 13, 144, 126], [141, 12, 153, 127], [115, 11, 173, 128], [108, 7, 180, 133], [108, 4, 180, 136], [108, 3, 176, 137, 1], [108, 1, 161, 139], [105, 1, 235, 138], [103, 1, 295, 148], [103, 0, 277, 149], [108, 0, 234, 137], [101, 0, 232, 137], [99, 0, 135, 139], [95, 0, 244, 139], [81, 0, 152, 139], [69, 0, 164, 139, 1], [66, 0, 169, 139], [65, 0, 170, 139], [63, 0, 168, 138], [61, 0, 159, 138], [35, 0, 304, 139], [19, 0, 189, 140], [18, 11, 138, 129], [18, 11, 137, 129], [18, 11, 137, 128], [18, 6, 135, 133], [7, 4, 146, 136], [6, 4, 147, 136], [3, 4, 150, 136, 1], [3, 5, 150, 135], [3, 8, 150, 132], [4, 6, 394, 145], [12, 6, 388, 145], [11, 8, 389, 144], [11, 8, 387, 144], [11, 8, 387, 143, 1], [10, 8, 113, 131], [11, 8, 111, 131], [10, 9, 112, 130], [12, 9, 116, 130], [12, 9, 111, 130], [12, 9, 111, 130], [12, 9, 110, 131], [12, 34, 113, 106], [13, 35, 110, 104] ], e = d.length, f, g, h, i, j = -1, c = document.getElementById("graham-logo"), l = function () { var a = d[f]; if (c && a[0]) { var b = document.createElement("div"); b.id = "graham-logo" + f; b.style.position = "absolute"; b.style.left = a[0] + "px"; b.style.top = a[1] + "px"; b.style.width = a[2] + "px"; b.style.height = a[3] + "px"; b.style.background = "url(/images/css-sprite/graham-sprite.png) no-repeat " + -g + "px " + -h + "px"; a[3] > i && (i = a[3]); a[4] ? (g = 0, h += i, i = 0) : g += a[2]; c.appendChild(b); ++f; f < e && (j = window.setTimeout(l, 83)) } }, m = function () { google.doodle.a = !1; i = h = g = f = 0; j != -1 && (window.clearTimeout(j), j = -1); c.innerHTML = ""; j = window.setTimeout(l, 83) }; c.addEventListener ? c.addEventListener("click", m, !1) : c.attachEvent("onclick", m); if (!google.doodle.a) { google.doodle.a = !0; var n = document.createElement("img"); n.addEventListener ? n.addEventListener("load", m, !1) : n.attachEvent("onload", m); n.src = "/images/css-sprite/graham-sprite.png" } })();總結(jié)
希望大家可以通過本文的Google動畫實現(xiàn)了解到一些CSS Sprite技術(shù),CSS Sprite是前端優(yōu)化的一部分,合理的利用好可以提高網(wǎng)頁的性能,也可以豐富網(wǎng)頁內(nèi)容。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/112720.html
摘要:以上,從分層組織,模塊化,使用時注意低權(quán)重原則,以及巧用雪碧圖闡述了提高代碼質(zhì)量的四個方面。編寫高質(zhì)量代碼前端開發(fā)修煉之道曹劉陽 分層組織CSS 我們應(yīng)用CSS的能力應(yīng)該分成兩部分:一部分是CSS的API,重點是如何用CSS控制頁面內(nèi)元素的樣式;另一部分是CSS框架,重點是如何對CSS進行組織。 推薦一種組織CSS的方法: base.css + common.css + page.c...
摘要:關(guān)于瀏覽器圖標(biāo)解決方案,一直就有很多以及相對而言矢量圖標(biāo)以及支持瀏覽器自身解析的優(yōu)點,很多團隊都已經(jīng)在使用了。這篇文章主要說明圖標(biāo)的使用和制作。在中可以在任何地方復(fù)用文件中定定義的的形,包括和已經(jīng)。 showImg(https://segmentfault.com/img/bVvef3); 關(guān)于瀏覽器圖標(biāo)解決方案,一直就有很多 CSS Sprite,Icon Font,CSS Icon...
摘要:關(guān)于瀏覽器圖標(biāo)解決方案,一直就有很多以及相對而言矢量圖標(biāo)以及支持瀏覽器自身解析的優(yōu)點,很多團隊都已經(jīng)在使用了。這篇文章主要說明圖標(biāo)的使用和制作。在中可以在任何地方復(fù)用文件中定定義的的形,包括和已經(jīng)。 showImg(https://segmentfault.com/img/bVvef3); 關(guān)于瀏覽器圖標(biāo)解決方案,一直就有很多 CSS Sprite,Icon Font,CSS Icon...
摘要:規(guī)范目的為提高團隊協(xié)作效率便于后臺人員添加功能及前端后期優(yōu)化維護輸出高質(zhì)量的文檔特制訂此文檔。 規(guī)范目的 為提高團隊協(xié)作效率, 便于后臺人員添加功能及前端后期優(yōu)化維護, 輸出高質(zhì)量的文檔, 特制訂此文檔。 文件規(guī)范 文件命名規(guī)則 文件名稱統(tǒng)一用小寫的英文字母、數(shù)字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導(dǎo)思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
摘要:規(guī)范目的為提高團隊協(xié)作效率便于后臺人員添加功能及前端后期優(yōu)化維護輸出高質(zhì)量的文檔特制訂此文檔。 規(guī)范目的 為提高團隊協(xié)作效率, 便于后臺人員添加功能及前端后期優(yōu)化維護, 輸出高質(zhì)量的文檔, 特制訂此文檔。 文件規(guī)范 文件命名規(guī)則 文件名稱統(tǒng)一用小寫的英文字母、數(shù)字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導(dǎo)思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
閱讀 582·2019-08-30 15:55
閱讀 995·2019-08-29 15:35
閱讀 1257·2019-08-29 13:48
閱讀 1977·2019-08-26 13:29
閱讀 2996·2019-08-23 18:26
閱讀 1300·2019-08-23 18:20
閱讀 2876·2019-08-23 16:43
閱讀 2746·2019-08-23 15:58