CSS Sprites優缺點
優點
#1.利用CSS Sprites能很好地減少網頁的http請求,從而大大的提升頁面的效能,這也是CSS Sprites最大的優點,也是其被廣泛傳播和應用的主要原因;
2.CSS Sprites能減少圖片的字節,曾經比較過多次3張圖片合併成1張圖片的位元組總是小於這3張圖片的位元組總和。
3.解決了網頁設計師在圖片命名上的困擾,只需對一張集合的圖片上命名就可以了,不需要對每一個小元素進行命名,從而提高了網頁的製作效率。
4.更換風格方便,只需要在一張或少張圖片上修改圖片的顏色或樣式,整個網頁的風格就可以改變。維護起來更加方便。
缺點
誠然CSS Sprites是如此的強大,但是也存在一些不可忽視的缺點,如下:
1.在圖片合併的時候,你要把多張圖片有序的合理的合併成一張圖片,還要留好足夠的空間,防止板塊內出現不必要的背景;這些還好,最痛苦的是在寬屏,高分辨率的屏幕下的自適應頁面,你的圖片如果不夠寬,很容易出現背景斷裂;
2.CSS Sprites在開發的時候比較麻煩,你要透過photoshop或其他工具測量計算每一個背景單元的精確位置,這是針線活,沒什麼難度,但是很繁瑣;幸好騰訊的鬼哥用ADOBE AIR開發了一個CSS Sprites 樣式生成工具,雖然還有一些使用上的不靈活,但是已經比photoshop測量來的方便多了,而且樣式直接生成,複製,拷貝就OK!
3.CSS Sprites在維護的時候比較麻煩,如果頁面背景有少許改動,一般就要改這張合併的圖片,無需改的地方最好不要動,這樣避免改動更多的css,如果在原來的地方放不下,又只能(最好)往下加圖片,這樣圖片的位元組就增加了,還要改動css。
4.CSS Sprites非常值得學習和應用,特別是頁面有一堆ico(圖示)。總之很多時候大家要權衡利弊,再決定是不是應用CSS Sprites。
HTML程式碼:
<body> <!-- ul.sprite>li*5>s.s-icon+a{CSS Sprite} --> <!-- 以上是Sublime Text快速拼写 --> <ul class="sprite"> <li><s class="s-icon"></s><a href="">CSS Sprite</a></li> <li><s class="s-icon"></s><a href="">CSS Sprite</a></li> <li><s class="s-icon"></s><a href="">CSS Sprite</a></li> <li><s class="s-icon"></s><a href="">CSS Sprite</a></li> <li><s class="s-icon"></s><a href="">CSS Sprite</a></li> <div class="clear"></div> </ul> </body>
CSS程式碼:
<style> body { background-color: #fc0; color:#333;} * {margin:0; padding:0;} ul,li {list-style: none;} a { color:#f00; font-weight: bold; text-decoration: none;} .sprite {margin:0 auto; width:1000px; padding-top: 50px;} .sprite li {float:left; margin-left: 50px; text-align: center; cursor:pointer; } .sprite li s { display: block; width:132px; height:112px; background:url(all.png) no-repeat; } .clear { clear:both;} </style>
JS程式碼:
<script src="<a href="http://code.jquery.com/jquery-latest.js"></script">http://code.jquery.com/jquery-latest.js"></script</a>> <script> $(function () { var iconH = $(".sprite").find("s").height(), //找出存放图片的容器的高度; triggerLi = $(".sprite").children("li"); //找出每一个li,放到一个数组中; //console.log(iconH); //在控制台打印出容器的高度; triggerLi.each(function () { //遍历数组中的每一个li var $this = $(this), //声明变量赋值当前的li; $index = $this.index(); //声明变量保存当前li的index值; //console.log($index); //在控制台打印出每一个li的index值; //console.log(iconH*$index); //得出每一个图片对应的position值; $this.children("s").css("background-position","0 -"+iconH*$index+"px"); //利用js遍历出每一个s标签的背景图片; $this.hover(function() { //鼠标移入 $this.children("s").css("background-position","-132px -"+iconH*$index+"px"); }, function() { //鼠标移出 $this.children("s").css("background-position","0 -"+iconH*$index+"px"); }); }) }) </script>
以上是如何透過CSS中Sprites實現切圖技術(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

本教程演示了使用智能表單框架創建外觀專業的JavaScript表單(注意:不再可用)。 儘管框架本身不可用,但原理和技術仍然與其他形式的建築商相關。

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

構建內聯文本編輯器並不是微不足道的。 該過程首先要使目標元素可編輯,並在此過程中處理潛在的語法異常。 創建編輯器來構建此編輯器,您需要動態修改內容

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

該教程通過使用node.js,express和multer構建文件上傳系統來指導您。 我們將介紹單個和多個文件上傳,甚至演示在MongoDB數據庫中存儲圖像以進行以後的檢索。 首先,設置您的projec

本文探討了Envato Market上可用的PHP表單構建器腳本,比較了其功能,靈活性和設計。 在研究特定選項之前,讓我們了解PHP形式構建器是什麼以及為什麼要使用一個。 PHP形式


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),