雪碧圖的應用

来源:http://www.cnblogs.com/holiday1123/archive/2016/07/10/5658500.html
-Advertisement-
Play Games

雪碧圖的應用實例 ...


小周末,研究了一下雪碧圖的實現方式。先科普一下雪碧圖,雪碧圖就是css sprite的意思,也有叫css精靈。就是呢,將小圖標和背景圖像合併到一張圖片上,然後利用css的背景定位來顯示需要顯示的圖片部分。

1、好處優點:

有效減少網站的http請求數量,加速圖片的顯示。

2、條件:

  • 靜態圖片,圖片不睡用戶信息的變化而變化。
  • 小圖片,容量比較小的(2~3k)。
  • 圖片載入量比較大的。

註意:大圖片不建議用雪碧圖咯,圖片那麼大,拼完之後豈不是拆機無敵大咯,載入就慢了,得不償失!!!

3、原理利用 css3的  background-position控制一個層可顯示區域範圍大小,通過一個視窗,對背景圖進行滑動

簡單來說,就是利用這個屬性,設置背景圖需要顯示的起始位置,在通過標簽來控制背景圖顯示的範圍。

4、先來瞭解一下background-position屬性吧,

  

根據圖所知:

  • 以左上角為(0,0)坐標
  • x,y都是負值

綜上所訴,所以background-position的取值就是背景圖顯示的起始坐標,形式就是background-position:0, 0;

5、拼圖:拼圖可以用ps,或者網上很多線上雪碧圖生成工具,可以利用這些去生成雪碧圖。

我是用一個線上拼圖工具手動拖拉評出來的,有點噁心~~哈哈

其實最好的拼圖就是每個圖標邊距是多少和圖標周圍的留白留多少都控制好,對css的background-position的坐標寫起來有規律的話,好些很多(然而這個是我自己手動拖拉的,位置很沒有規律,所以下麵的坐標值都是調試過才取值的)

 



講完這些了,可以來正題了,html和css代碼了,下麵代碼是模仿生成一個菜單~~~

6、代碼:

 1    <div id="content">
 2         <ul class="content">
 3             <li class="cat-1">
 4               <i></i>
 5               <h3>女裝/男裝/內衣</h3>
 6             </li>
 7             <li class="cat-2">
 8               <i></i>
 9               <h3>鞋靴/箱包/配件</h3>
10             </li>
11             <li class="cat-3">
12               <i></i>
13               <h3>童裝玩具/孕產/用品</h3>
14             </li>
15             <li class="cat-4">
16               <i></i>
17               <h3>家電/數位/手機</h3>
18             </li>
19             <li class="cat-5">
20               <i></i>
21               <h3>美妝/洗護/保健品</h3>
22             </li>
23             <li class="cat-6">
24               <i></i>
25               <h3>珠寶/眼鏡/手錶</h3>
26             </li>
27             <li class="cat-7">
28               <i></i>
29               <h3>運動/戶外/樂器</h3>
30             </li>
31             <li class="cat-8">
32               <i></i>
33               <h3>游戲/動漫/影視</h3>
34             </li>
35             <li class="cat-9">
36               <i></i>
37               <h3>美食/生鮮/零食</h3>
38             </li>
39             <li class="cat-10">
40               <i></i>
41               <h3>鮮花/寵物/農資</h3>
42             </li>
43             <li class="cat-11">
44           <i></i>
45               <h3>房產/裝修/建材</h3>
46             </li>
47         </ul>
48    </div>
 1   <style type="text/css" >
 2    #content{
 3        width: 180px;
 4        background: #f8f8f8;
 5        border: 1px solid #bbb;
 6    }
 7    h3{
 8        margin: 0;
 9        padding: 0;
10    }
11     ul{
12         list-style: none;
13         padding: 0;
14     }
15     li h3{
16         font-size: 14px;
17         font-weight: 400;
18     }
19     li{  
20         margin:  3px 10px 0 0;
21         display: block;
22         height: 31px;
23         line-height: 31px;
24         overflow: hidden;
25         border-bottom: 1px solid #dedede;
26 
27     }
28     li i{
29 background:  url(sprite.png);
30 display: inline;
31 width: 40px;
32 height: 28px;
33 float: left;
34     }
35     .cat-1 i{
36         background-position: -7px -5px;
37     }
38    .cat-2 i{
39         background-position: -2px -35px;
40     }
41     .cat-3 i{
42         background-position: -7px -65px;
43     }
44     .cat-4 i{
45         background-position: -7px -105px;
46     }
47     .cat-5 i{
48         background-position: -7px -129px;
49     }
50     .cat-6 i{
51         background-position: -7px -151px;
52     }
53     .cat-7 i{
54         background-position:-60px -4px;
55     }
56     .cat-8 i{
57         background-position:-56px -33px;
58     }
59     .cat-9 i{
60         background-position: -56px -66px;
61     }
62     .cat-10 i{
63         background-position:-60px -103px;
64     }
65     .cat-11 i{
66         background-position: -51px -128px;
67     }
68 
69    </style>

7、效果圖如下:

 

 

雪碧圖的應用就這樣了~~有錯歡迎指出~~哈哈哈

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、起因 ES6新納入了很多振奮人心的新特性,真的很讓人忍不住去嘗試一下。不過,由於現在大部分的瀏覽器對ES6的支持程度都不是很好。所以如果想要放心地使用一些新特性,還需要用一些工具,將ES6或者ES7的代碼轉為ES5的代碼。今天,就配置了一下環境,寫了一個react-router,主要是練習自己的 ...
  • 一、主類關係圖 二、類職責 2.1、observable(普通監控對象類) observable(他其是一個function)的內部實現:1.首先聲明一個名為observable的fn(這個可以說是一個類)2.增加一個ko惟一的latestValue(最新值)屬性來存儲形參傳入的值3.如果支持原生_... ...
  • 一、position:fixed 鎖定位置(相對於瀏覽器的位置),例如有些網站的右下角的彈出視窗。 示例: 二、position:absolute 絕對位置: 1.外層沒有position:absolute(或relative);那麼div相對於瀏覽器定位,如下圖中b(距離瀏覽器右邊框為50像素,距 ...
  • 博主最近在最有做一個嵌入式課程設計,要求是利用基於cortax a8的物聯網實驗箱做一個簡單的嵌入式網頁交互系統作為課程設計來驗收評分。因為本身自己是學前端的,所以網頁部分並不是重點,主要是和boa伺服器之間的通信,課程實驗給的例子是直接使用printf來列印html標簽形成新的頁面,有過前端開發經 ...
  • ***設置超鏈接的樣式示例 a:link 超鏈接被點前狀態 a:visited 超鏈接點擊後狀態 a:hover 懸停在超鏈接時 a:active 點擊超鏈接時 在定義這些狀態時,有一個順序l v h a 代碼區: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
  • [1]常量[2]函數 ...
  • jQuery 插件可以為你做許多事情,你可以很容易地把這些插件集成到您的網站。網路上的 jQuery 日期選擇器和日曆插件很多,但找不到很滿意的時間選擇器插件。 在這裡,我們收集了最好的一組 jQuery 時間選擇器插件列表分享給大家。 ...
  • CSS(Cascading Style Sheet,疊層樣式表),作用是美化HTML網頁。 /*註釋區域*/此為註釋語法 一、樣式表 (一)樣式表的分類 1.內聯樣式表 和HTML聯合顯示,控制精確,但是可重用性差,冗餘較多。 例:<p style="font-size:14px;">內聯樣式表</ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...