中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 網頁制作 > CSS Sprites
firefox擴展插件制作方法 回到列表 網頁制作,改變你的思維方式
 CSS Sprites

作者:Realazy 時間: 2007-10-10 文檔類型:原創(chuàng) 來自:Realazy

CSS Sprites技術不新鮮,早在2005年 CSS Zengarden 的園主 Dave Shea 就在 ALA 發(fā)表對該技術的 詳細闡述 。原先只在CSS玩家之間作為一種制作方法流傳,后來出來個 14 Rules for Faster-Loading Web Sites , 技術人員之間競相傳閱,其中第一條規(guī)則Make Fewer HTTP Requests就提到CSS Sprites。于是這個小妖精就火了起來,甚至出現了在線生成工具,勢不可擋也。近來國內很多blog都提到CSS Sprites,最著名的例子莫過于 http://www.google.co.kr/  下方的那幾個動畫。最新發(fā)布的YUI中,也是使用到CSS Sprites,幾乎都有的CSS裝飾圖都被一個 40×2000的圖 包辦。社交大站Facebook最近也使用了一個 22×1150的圖片 承擔了所有icon.一時間,CSS Sprites無處不在。

原理

我們知道,自CSS革命以降,HTML傾向于語義化,在一般情況下不再在標記里寫裝飾性的內容而是把呈現的任務交給了CSS。GUI是繽紛多彩的,少不了各種漂亮的圖來裝點。新時代的生產方式是,在HTML布滿各種各樣的鉤子(hook),然后交由CSS來處理。在需要用到圖片的時候,現階段是通過CSS屬性background-image組合background-repeat, background-position等來實現(題外話:為何我提現階段,因為未來瀏覽器若支持content則又新增另外的實現方法)。我們的主角是,你一定猜到了,就是background-position。通過調整background-position的數值,背景圖片就能以不同的面貌出現在你眼前。其實圖片整體面貌沒有變,由于圖片位置的改變,你看到只該看到的而已。就好比手表上的日期,你今天看到是21,明天看到是22,是因為它的position往上跳了一格。所以你也大概了解到,CSS Sprites一般只能使用到固定大小的盒子(box)里,這樣才能夠遮擋住不應該看到的部分。

我們使用YUI的sprite.png舉個例子,假如我們有這么一段代碼,max代表最大化,min代表最小化,我們需要給它們配上相應的漂亮圖片(這樣我們的網站才能夠吸引人,才可以賣錢,才可以到佛羅里達曬太陽:D):

<div class="max">最大化</div>
<div class="min">最小化</div>

這兩個class都使用同一個圖片:

.min, max {
  width:16px;
  height:16px;
  background-image:url(http://developer.yahoo.com/yui/build/assets/skins/sam/sprite.png);
  background-repeat: no-repeat; //我們并不想讓它平鋪
  text-indent:-999em; //隱藏文本的一種方法
}

效果如下:

最大化
最小化

最大化最小化
我們看到一團灰,沒錯,因為我們還沒有指定background-position,默認為 0 0,可以看下 sprite.png , 處于這個位置正是灰塊。好了,我們要找到代表最大化的加號和代表最小化的減號的位置找出來。經過測量,最大化按鈕位于Y軸的350px處,最小化按鈕位于Y軸400px處。想一想我們如何才能讓它們能夠顯示出來呢,明顯,要向上提升sprite.png,得到代碼如下:

.max {
  background-position: 0 -350px;
}
.min {
  background-position: 0 -400px;
}

耶,我們成功了:

最大化
最小化

(注意:為了舉例的方便,本例子直接在HTML內置樣式,切勿在實踐中的非特殊情況使用這種方式)。

優(yōu)點

我們從前面了解到,CSS Sprites為什么突然跑火,跟能夠提升網站性能有關。顯而易見,這是它的巨大優(yōu)點之一。普通制作方式下的大量圖片,現在合并成一個圖片,大大減少了HTTP的連接數。HTTP連接數對網站的加載性能有重要影響。

缺點

至于可維護性,這是一般雙刃劍?赡苡腥讼矚g,有人不喜歡,因為每次的圖片改動都得往這個圖片刪除或添加內容,顯得稍微繁瑣。而且算圖片的位置(尤其是這種上千px的圖)也是一件頗為不爽的事情。當然,在性能的口號下,這些都是可以克服的。

由于圖片的位置需要固定為某個絕對數值,這就失去了諸如center之類的靈活性。

前面我們也提到了,必須限制盒子的大小才能使用CSS Sprites,否則可能會出現出現干擾圖片的情況。這就是說,在一些需要非單向的平鋪背景和需要網頁縮放的情況下,CSS Sprites并不合適。YUI的解決方式是,加大圖片之間的距離,這樣可以保持有限度的縮放。

總結

性能壓倒一切。CSS Sprites是值得推廣的一種技術。尤其適宜用于FIR,比如固定大小的icon替換。為保持兼容性,圖片中的各個部分保持一定的距離是一種不錯的做法。

推薦閱讀

本文鏈接:http://www.95time.cn/tech/web/2007/4967.asp 

出處:Realazy
責任編輯:moby

◎進入論壇網頁制作WEB標準化版塊參加討論,我還想發(fā)表評論。

相關文章 更多相關鏈接
CSS Sprites(CSS雪碧):要還是不要?
純CSS圖片預加載
面向對象CSS FAQ
馴服CSS選擇器--健壯我們的樣式表
減少reflow
作者文章 更多作者文章
認識延遲時間為0的setTimeout
Opera下cloneNode的bug
輸入法下keyup失效的解決方案
關于reflow
惰性函數定義模式
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數企業(yè)唯一擁抱互聯網的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯網觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數據同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍色理想版權申明:除部分特別聲明不要轉載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉載要求:轉載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內容
·您在本站發(fā)表的作品,本站有權在網站內轉載或引用
·參與本評論即表明您已經閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內容
網站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內核詳解與實踐
作品集 更多內容

雜⑦雜⑧ Gold NORMANA V2