css sprites(CSS 精靈):如何獲取一張整合拼合圖片上的其他圖片
今天去國美網站訪問的時候發現了很多張圖片合成了一張圖片,我就在想那我們怎麼能獲得每一個細小圖示的引用呢?
後來我看到了css sprite。根據百度資料上說:CSS sprites很多國內的人都叫css精靈的,是一種網頁圖片應用處理方式,它是允許你將一個頁面設計到的所有零星的圖片都包含在一張大的圖中去,這樣一來,當訪問該頁面的時候,載入的圖片就不會像以前一幅一幅地慢慢地顯示出來了。而且對於當前的網路就行速度而言,不高於200KB的單張圖片的所需載入的時間是基本差不多的。因為其實規格大小,計算機統一按Byte計算的。客戶端每顯示一張圖片都會向伺服器傳送請求,所以請求的圖片越多,造成延遲的可能性就越大。
那我們來看看css sprites的優點:
1.利用它可以很好地減少網頁的http請求,從而大大提高頁面的效能。
2.能夠減少圖片的位元組
3.解決了圖片命名上的困擾。
css sprites的原理
把一些細小的圖片集中放置在一張圖片當中,然後利用css的"background-image","background-repeat","background-position"的組合進行背景定位,其中"background-position"可以精確地定位出背景圖片的位置。
下面我們就來看看程式碼吧!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="國美首頁.css" rel="stylesheet" type="text/css"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<title>國美線上(GOME)-綜合網購商城,正品低價、品質保障、快速送達、安心服務!</title>
<style>
.top{
background-image:url(ui.png);
background-position:0px -1245px;
width:78px;
height:80px;
background-repeat:no-repeat;
margin:0 auto;
}
</style>
</head>
<body>
<div class="top">
</div>
</body>
</html>
這就是用css sprites製作出來的效果了。至於背景圖片的位置我們是如何找出來的呢?
在這裡我是使用了firework,利用切片的工具,來獲得我們想要圖片的位置甚至是寬度高度。