雪碧图 Sprite图

简介: 雪碧图 Sprite图

CSS Sprite雪碧图

  1. 静态图片,不随用户信息的变化而变化
  2. 小图片,图片容量比较小(3k - 5k)
  3. 加载量比较大 大图不建议拼成雪碧图

33.png

基本目的:有效的减少http请求数量,加速内容显示(因为每请求一次,就会和服务器链接一次,建立链接是需要额外时间的)

实现原理: 基于CSS background-position属性控制 通常来讲,设置一个区域的背景图,然后来控制背景图位置实现功能

我们可以通过坐标系来看(更加清晰):


34.png

34.png

  1. 控制一个层,可显示的区域范围大小,通过一个窗口,进行背景图滑动
    实现方式:
    1.PS手动拼图
    2.使用sprite工具自动生成 -->CssGaga、Css Sprite Tools

工具使用步骤

①、用ps把小图片切好

②、打开软件

35.png

③、打开图片

点击左上角的“选择多幅小背景图片”,选择多张图片,点击打开

④、排布图片

可以选择上面的最上面按钮今天横竖的默认排布,也可以鼠标选中图片拖动位置,拖动完成后程序会根据内部图片的位置生成面积最小的雪碧图,当然也会改变相应的图片位置

⑤、代码生成

点击“选择目录并生成测试文件”按钮

所需要的代码就在css/bgs.css文件里面

所需要的图片在imgs里

例如:


<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
<style>
blockquote, body, button, dd, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, hr, input, legend, li, ol, p, pre, td, textarea, th, ul{
margin: 0;
padding: 0;
}
h3 {
    display: block;
  margin: 0;
  padding: 0;
}
.cat {
    position: relative;
    width: 150px;
  background: #f8f8f8;
   border: 1px solid #bbb;
}
ol, ul {
  list-style: none;
}
li {
    z-index: 2;
    position: relative;
    display: block;
    height: 31px;
    line-height: 31px;
    overflow: hidden;
    margin: 1px 10px 0;
    vertical-align: bottom;
    border-bottom: 1px solid #dedede
}
li h3 {
    font-size: 14px;
    font-weight: 400;
}
li i {
    background: url(http://img.mukewang.com/539a950e00015ba500710200.jpg);
    /* 注意url使用自己的路径*/
    display: inline;
    float: left;
    margin: 3px 10px 0 0;
    height: 24px;
    width: 30px
}
</style>
</head>
<body>
  <div class="cat">
      <ul >
        <li>
          <i></i>
          <h3>服装内衣</h3>
        </li>
        <li class="cat-2">
          <i></i>
          <h3>鞋包配饰</h3>
        </li>
        <li class="cat-3">
          <i></i>
          <h3>运动户外</h3>
        </li>
        <li class="cat-4">
          <i></i>
          <h3>珠宝手表</h3>
        </li>
        <li class="cat-5">
          <i></i>
          <h3>手机数码</h3>
        </li>
        <li class="cat-6">
          <i></i>
          <h3>家电办公</h3>
        </li>
        <li class="cat-7">
          <i></i>
          <h3>护肤彩妆</h3>
        </li>
        <li class="cat-8">
          <i></i>
          <h3>母婴用品</h3>
        </li>
      </ul>
  </div>
</body>
</html>

36.png

<html>
<head>
  <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
  <style>
  blockquote, body, button, dd, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, hr, input, legend, li, ol, p, pre, td, textarea, th, ul
  {
    margin: 0;
    padding: 0;
  }
  h3 {
      display: block;
    margin: 0;
    padding: 0;
  }
  .cat {
      position: relative;
      width: 150px;
    background: #f8f8f8;
     border: 1px solid #bbb;
  }
  ol, ul {
    list-style: none;
  }
  li {
      z-index: 2;
      position: relative;
      display: block;
      height: 31px;
      line-height: 31px;
      overflow: hidden;
      margin: 1px 10px 0;
      vertical-align: bottom;
      border-bottom: 1px solid #dedede
  }
  li h3 {
      font-size: 14px;
      font-weight: 400;
  }
  li i {
      background: url(http://img.mukewang.com/539a950e00015ba500710200.jpg);
      display: inline;
      float: left;
      margin: 3px 10px 0 0;
      height: 24px;
      width: 30px
  }
        .cat-1 i{
            background-position: 0 0;
        }
        .cat-2 i{
            background-position: 0 -24px;
        }
        .cat-3 i{
            background-position: 0 -48px;
        }
        .cat-4 i{
            background-position: 0 -72px;
        }
        .cat-5 i{
            background-position: 0 -96px;
        }
        .cat-6 i{
            background-position: 0 -120px;
        }
        .cat-7 i{
            background-position: 0 -144px;
        }
        .cat-8 i{
            background-position: 0 -168px;
        }
        .cat-9 i{
            background-position: 0 -192px;
        }
</style>
</head>
<body>
  <div class="cat">
      <ul >
        <li>
          <i></i>
          <h3>服装内衣</h3>
        </li>
        <li class="cat-2">
          <i></i>
          <h3>鞋包配饰</h3>
        </li>
        <li class="cat-3">
          <i></i>
          <h3>运动户外</h3>
        </li>
        <li class="cat-4">
          <i></i>
          <h3>珠宝手表</h3>
        </li>
        <li class="cat-5">
          <i></i>
          <h3>手机数码</h3>
        </li>
        <li class="cat-6">
          <i></i>
          <h3>家电办公</h3>
        </li>
        <li class="cat-7">
          <i></i>
          <h3>护肤彩妆</h3>
        </li>
        <li class="cat-8">
          <i></i>
          <h3>母婴用品</h3>
        </li>
      </ul>
  </div>
</body>
</html>

37.png


相关文章
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
|
2月前
Fireworks如何给图片添加阴影效果? fw给图片增加阴影效果的技巧
有时需要给图片添加阴影效果。那么,Fireworks软件中如何给图片添加阴影效果呢?
41 1
|
3月前
|
前端开发
ThreeJs通过canvas和Sprite添加标签
这篇文章介绍了在Three.js中利用Canvas和Sprite实现动态文本标签的方法,使得标签可以跟随模型并在3D空间中始终保持面向摄像机。
114 0
ThreeJs通过canvas和Sprite添加标签
|
7月前
|
移动开发 前端开发 HTML5
HTML5 Canvas中实现绘制一个像素宽的细线
HTML5 Canvas中实现绘制一个像素宽的细线
69 3
|
前端开发 JavaScript
canvas:绘制视频封面
canvas:绘制视频封面
101 0
canvas:绘制视频封面
html+css实战170-css精灵-背景图的缩放
html+css实战170-css精灵-背景图的缩放
124 0
html+css实战170-css精灵-背景图的缩放
|
前端开发 JavaScript 安全
Canvas生成缩略图
Canvas生成缩略图
446 0
|
人工智能 前端开发
Photoshop - 如何用 PS 合成一张 Sprite 图(雪碧图)
Photoshop - 如何用 PS 合成一张 Sprite 图(雪碧图)
411 0
Photoshop - 如何用 PS 合成一张 Sprite 图(雪碧图)
|
C# 图形学 索引
上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉。
1223 0