html css精靈,談談CSS Sprites(css精靈)

CSS Sprites在國內很多人叫css精靈,其實這個技術不新鮮,這個技術老到什么程度呢,我不敢確定,但是我看到最早的關于CSS Sprites是在Dave Shea的《CSS Sprites: Image Slicing’s Kiss of Death》,時間是March 05, 2004 ,整整5年了,那時我還沒參加工作呢?

?

這個技巧已經廣泛的應用到現在的頁面的前端開發中,甚至YUI將他定為《提高網頁效率的14條準則》的第一條準則“Make Fewer HTTP Requests” ,可見這個技術的重要性,也正是YUI的推薦

使這個CSS技巧得到了廣泛的推廣和應用。

?

先來看個最簡單的DEMO:

這是背景圖片

ico.png

這是一個簡單的CSS Sprites的demo:

?

XML/HTML代碼

這里顯示紅叉
??
這里顯示綠勾
??
這里顯示紅叉
??
這里顯示綠勾
??

看看頁面中的顯示!

?

CSS Sprites原理CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的組合進行背景定位,background-position可以用數字能精確的定位出背景圖片的位置。

?

CSS Sprites優點

1.利用CSS Sprites能很好地減少了網頁的http請求,從而大大的提高了頁面的性能,這也是CSS Sprites最大的優點,也是其被廣泛傳播和應用的主要原因;

2.個人認為能CSS Sprites能減少圖片的字節,我曾經比較過多次3張圖片合并成1張圖片的字節總是小于這3張圖片的字節總和。

?

CSS Sprites缺點

誠然CSS Sprites是如此的強大,但是也存在一些不可忽視的缺點

1.在圖片合并的時候,你要把多張圖片有序的合理的合并成一張圖片,還要留好只夠的空間,防止板塊內不會出現不必要的背景;這些還好,做痛苦的是在寬屏,高分辨率的屏幕下的自適應頁面,你的圖片如果不夠寬,很容易出現背景斷裂;

2.CSS Sprites在開發的時候比較麻煩,你要通過photoshop或其他工具測量計算每一個背景單元的精確位置,這是針線活,沒什么難度,但是很繁瑣;幸好騰訊的鬼哥用RIA開發了一個CSS Sprites 樣式生成工具,雖然還有一些使用上的不靈活,但是已經比photoshop測量來的方便多了,而且樣式直接生成,復制,拷貝就OK!

3.CSS Sprites在維護的時候比較麻煩,如果頁面背景有少許改動,一般就要改這張合并的圖片,無序改的地方最好不要動,這樣避免改動更多的css,如果在原來的地方放不下,有只能(最好)往下加圖片,這樣圖片的字節就增加了,還要改的css。

CSS Sprites非常值得學習和應用,特別是頁面有一堆ico(圖標)。總之很多時候大家要權衡一下利弊,在決定是不是應用CSS Sprites。

擴展閱讀:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259948.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分布式搜索 Elasticsearch —— 節點實例化

為什么80%的碼農都做不了架構師?>>> 要連接到集群,首先要告訴集群:你是誰,你有什么特征。在 ES 中體現為實例化節點。 ES 通過 org.elasticsearch.node.NodeBuilder 的 build() 或者 node() 方法實例化節點&#xff0…

計算幾何/sgu 124 Broken line

題意 給出由n條線段圍成的多邊形(每條邊均平行于坐標軸),以及一個點(x0,y0),問這個點是在形內或是形外或是形上 分析 對于在線段上,比較容易判斷,直接比較一下坐標的位置即可; 若不在形上&#…

(轉)在ios android設備上使用 Protobuf (使用dll方式)

自:http://game.ceeger.com/forum/read.php?tid13479 如果你的工程可以以.Net 2.0 subset模式運行,請看這個帖子中的方法。 地址:http://game.ceeger.com/forum/read.php?tid14359&fid27 如果只能以.Net 2.0下運行,就可以繼…

ps 毛發 邊緣_Adobe Photoshop摳圖技巧/摳圖后頭發邊緣的顏色處理方法教程!

PS教學第11期摳圖技巧和摳圖后的頭發邊緣的顏色處理的解釋本篇摳圖技巧教程除了跟大家分享了摳頭發的方法外,還分享如何解決摳頭發后頭發周圍的異色,如白邊紫邊等問題。教程作者沒有提供素材,大家可以找其他圖片來練習。有些時候想…

計算機運維知識點,系統運維必會知識點

1 刪除文件的原理文件刪除:需要具備以下兩個條件同時具備才生效1受文件的硬連接控制,有一個硬連接i_link1,減少一個硬連接,i_link-1,當i_link0時,文件就被刪了列:創建文件i_link1,為這個文件創建一個硬連接&#xff0c…

Hyper-v 2016 VHD Set

Hyper-v 2016 VHD Set微軟在Windows Server 2016 Hyper-v中新增了一種磁盤類型--“VHD集”,和以前版本的共享VHD類似,這種類型的磁盤能夠在多個服務器之間共享來實現來賓群集。看到這里相信有很多熟悉Hyper-v的朋友會問:這和以前的 Share VHD…

【總有一些東西要弄清】——說說面試時一系列的CSS問題

僅以此篇緬懷那些筆試100次,問100次的CSS問題。 問: CSS選擇符有哪些?哪些屬性可以繼承?優先級?內聯和important哪個優先級高? 選擇符 1通配選擇符(*)表示頁面內所有元素的樣式*{fon…

面試總結之html+css

最近面試了一些公司,和技術總監聊了一些前端技術方面的內容。回來之后我總結了一下,大致可以分為三個模塊:第一、Html與css 方面;第二、瀏覽器解析方面;第三、js方面。打算,分為三篇博文,根據自…

k8s部署tomcat及web應用_k8s部署tomcat的yaml文件

1、k8s部署tomcat的yaml文件apiVersion: apps/v1kind: Deploymentmetadata:name: mytomcatspec:replicas: 5selector:matchLabels:app: mytomcatminReadySeconds: 1progressDeadlineSeconds: 60revisionHistoryLimit: 5strategy:type: RollingUpdaterollingUpdate:maxSurge: 1m…

計算機的發展經歷階段應用領域,計算機的發展階段

計算機的發展階段以下文字資料是由(歷史新知網www.lishixinzhi.com)小編為大家搜集整理后發布的內容,讓我們趕快一起來看一下吧!計算機經歷了四個發展階段。1、電子管數字機(1946—1958年)硬件方面,邏輯元件采用的是真空電子管,外…

全球都對HTTPS拋出了橄欖枝,為什么?你又該怎么辦?

2019獨角獸企業重金招聘Python工程師標準>>> 互聯網發展20多年,大家都習慣了在瀏覽器地址里輸入HTTP格式的網址。但前兩年,HTTPS逐漸取代HTTP,成為傳輸協議界的“新寵”。 早在2014年,由網際網路安全研究組織Internet …

jqGrid格式化日期

colModel列中屬性 formatter:date, formatoptions:{srcformat: Y-m-d H:i:s, newformat: Y-m-d H:i:s}, 其它參數參考API轉載于:https://www.cnblogs.com/GYoungBean/archive/2013/03/20/2970598.html

大一大學計算機考試難嗎,新生必看!大一期間必考的3個證書,不考后悔,越拖越難考!...

原標題:新生必看!大一期間必考的3個證書,不考后悔,越拖越難考!9月開學季,大學新生也陸陸續續來到了學校報到,開啟自己美好的大學生活!但是!小編要提醒大家的是千萬不要相信高中老師說的那句:“上了大學你們…

我是如何實用:before :after

本文地址http://www.cnblogs.com/Bond/p/3972854.html 最近一直做移動端,沒和IE6打交道了,瞬間感覺世界變美好了。移動端雖然還是各種坑,但是比起修復IE6那還是輕松多了,移動端很多效果可以用CSS3來做,感覺一切都和諧…

rockmq運維指令_RocketMQ運維監控

一個完善的消息中間件,監控是必不可少的功能。通過監控我們可以查看系統的運行情況,是否出現異常,是系統穩定性和運維的基礎。1、監控平臺搭建RocketMQ控制臺需要自己去下載編譯打包,可以在編譯時設置其namesrvAddr和端口號&#…

Maven學習之 倉庫鏡像

使用倉庫鏡像 倉庫可以聲明在項目中,但有時,你可能想要使用某個倉庫的鏡像,而不去修改項目文件。 使用鏡像的原因: 有一個同步鏡像,且速度更快。想使用你自己控制的內部倉庫。想運行repository manager來提供一個本地的…

誰看的最多

今天想到了昨天看到一道acm題目,難度入門級別。“誰看的最多”,題目大概是這樣的:一隊列的人3 2 1 6 4 5,數值的大小表示該人的高度。每個人只能看到前面比他高的人,如1可以看見2、3。但是,如果有人B比他高…

計算機與網絡應用基礎知識下上機考試,計算機應用基礎知識考試

計算機應用基礎課程是提高高職學生計算機文化水平的公共必須課,那么你對計算機應用基礎知識了解多少呢?以下是由小編整理關于計算機應用基礎知識試題的內容,希望大家喜歡!計算機應用基礎知識試題1、計算機系統由硬件系統和軟件系統兩部分組成&#xff0…

分支-08. 高速公路超速處罰

按照規定,在高速公路上行使的機動車,超出本車道限速的10%則處200元罰款;若超出50%,就要吊銷駕駛證。請編寫程序根據車速和限速自動判別對該機動車的處理。 輸入格式:輸入在一行中給出2個正整數,分別對應車速…

lua 從一串數字中取出偶數位的數字_為什么JavaScript中 0.1 0.2 不等于0.3?

在 js 中進行數學的運算時,會出現0.10.20.300000000000000004的結果,一開始認為是浮點數的二進制存儲導致的精度問題,但這似乎不能很好的解釋為什么在同樣的存儲方式下0.30.40.7可以得到正確的結果。本文主要通過浮點數的二進制存儲及運算&am…