摘要:限制不高于的單張圖片整合處理圖片的目的是減少請求次數,如果每一張圖片都向服務器發送請求,即影響服務器負載也影響頁面性能。
為紀念美國現代舞舞蹈家瑪莎·葛蘭姆誕辰,Google Doodle推出了一款極其炫酷的LOGO,整個LOGO使用CSS Sprite技術,利用一個初始圖片和一張畫滿各個動作的拼接圖片,實現了動畫,而非傳統的GIF動畫圖像。
原文查看效果
CSS Sprite簡介CSS Sprites(css精靈),是一種網頁圖片應用處理方式。它允許你將一個頁面涉及到的所有零星圖片都包含到一張大圖中去,這樣一來,當訪問該頁面時,載入的圖片就不會像以前那樣一幅一幅地慢慢顯示出來了。
限制:不高于200KB的單張圖片
整合處理圖片的目的是減少請求次數,如果每一張圖片都向服務器發送請求,即影響服務器負載也影響頁面性能。
CSS Sprite原理CSS Sprites的原理就是把網頁中用到的小圖標、圖片類集中整合到一張圖片中。
再利用CSS中的背景屬性
background-image
background-repeat
background-position
當需要顯示指定圖片時,定位到圖片相應位置即可
Google粘土動畫實現步驟:
1、準備素材,設計動畫的每一幀圖片并整合成一張圖片
2、監聽點擊事件執行動畫
3、根據延遲時間設置圖片背景位置以顯示下一幀圖片
JS
Google舞蹈者
實現步驟:
1、準備素材,收集舞蹈者每一個動作集成到一張圖片
2、初始化每一個動作的位置
3、定時動態創建div元素設置背景位置和元素位置
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" } })();總結
希望大家可以通過本文的Google動畫實現了解到一些CSS Sprite技術,CSS Sprite是前端優化的一部分,合理的利用好可以提高網頁的性能,也可以豐富網頁內容。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/112720.html
摘要:以上,從分層組織,模塊化,使用時注意低權重原則,以及巧用雪碧圖闡述了提高代碼質量的四個方面。編寫高質量代碼前端開發修煉之道曹劉陽 分層組織CSS 我們應用CSS的能力應該分成兩部分:一部分是CSS的API,重點是如何用CSS控制頁面內元素的樣式;另一部分是CSS框架,重點是如何對CSS進行組織。 推薦一種組織CSS的方法: base.css + common.css + page.c...
摘要:關于瀏覽器圖標解決方案,一直就有很多以及相對而言矢量圖標以及支持瀏覽器自身解析的優點,很多團隊都已經在使用了。這篇文章主要說明圖標的使用和制作。在中可以在任何地方復用文件中定定義的的形,包括和已經。 showImg(https://segmentfault.com/img/bVvef3); 關于瀏覽器圖標解決方案,一直就有很多 CSS Sprite,Icon Font,CSS Icon...
摘要:關于瀏覽器圖標解決方案,一直就有很多以及相對而言矢量圖標以及支持瀏覽器自身解析的優點,很多團隊都已經在使用了。這篇文章主要說明圖標的使用和制作。在中可以在任何地方復用文件中定定義的的形,包括和已經。 showImg(https://segmentfault.com/img/bVvef3); 關于瀏覽器圖標解決方案,一直就有很多 CSS Sprite,Icon Font,CSS Icon...
摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
閱讀 534·2019-08-30 15:55
閱讀 944·2019-08-29 15:35
閱讀 1198·2019-08-29 13:48
閱讀 1910·2019-08-26 13:29
閱讀 2933·2019-08-23 18:26
閱讀 1236·2019-08-23 18:20
閱讀 2833·2019-08-23 16:43
閱讀 2709·2019-08-23 15:58