首先解释下CSS Sprites是什么:有称CSS精灵,有称CSS雪碧的,无论叫什么,他的作用就是把网页上很多小图标放到一张图片里面,然后通过CSS里面的background-position来控制每个图片的坐标,这样不但减少http请求,而且还降低了图片的大小,加快图片的加载速度,对前端开发的朋友来说是必备技能。更详细的解释请到【百度百科】围观。

雪碧图使用场景

1.静态图片,不随用户信息的变化而变化

2.小图片,图片容量比较小

3.加载量比较大

注:一些大图片、有动态效果图片无需使用雪碧图

雪碧图使用原理

1.使用CSS里面的background-position属性来控制背景图的位置,从而在不同处显示所需要的图标。

2.

(上图是慕课网教学视频上的一张图片,在此借用一下)如图所示,将背景图放在一个坐标系里面,以左上角为起点。拼合背景图的小图(X,Y)为负值,比如想要展示图中黑色边框里面的裙子时,只需:裙子:{background-position:-100px,0;}即可。因为“裙子”只有X轴偏移,没有Y轴偏移。

雪碧图实现方法

1.第一步:完成背景图的拼合(把你所需要展示的小图片整合到一张图上面)

Photoshop手动拼图:在PS里完成所需的背景图,量取每个小图片的尺寸并记录下来,将背景图保存为png格式。

当项目或网站比较大时,用PS逐个量取可能不太现实。这时可以使用Sprites工具自动生成小图片的坐标点。推荐一种Sprites工具自动生成工具——CSSGaga,是Windows系统下自动生成雪碧图的一种工            具,具体使用还请看官网上自寻。下载地址:http://www.99css.com/archives/1524

2.下面是本人做的一个雪碧图例子的代码,看官可以复制去看下效果。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>雪碧图</title>
</head>
<style>
h3,ul {
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
li h3 {
font-size: 14px;
font-weight: 400px;
}
li {
display: block;
height: 40px;
line-height: 35px;
overflow: hidden;
/*border: 0.5px solid #dedede;*/
}
.LOGO {
width:160px;
background: #f8f8f8;
}
li i {
background: url(sprite.png);
display: inline;
width: 45px;
height: 35px;
float: left;
margin: 3px 10px 0 0;
}
.logo-1 i{
background-position: 0 0;
}
.logo-2 i{
background-position: 0 -35px;
}
.logo-3 i{
background-position: 0 -73px;
}
.logo-4 i{
background-position: -60px 3px;
}
.logo-5 i{
background-position: -60px -35px;
}
.logo-6 i{
background-position: -60px -108px;
}
.logo-7 i{
background-position: -60px -145px;
}
.logo-8 i{
background-position: -60px -185px;
}

</style>
<body>
<div class="LOGO">
<ul>
<li class="logo-1">
<i></i>
<h3>服装内衣</h3>
</li>
<li class="logo-2">
<i></i>
<h3>鞋包配饰</h3>
</li>
<li class="logo-3">
<i></i>
<h3>运动户外</h3>
</li>
<li class="logo-4">
<i></i>
<h3>居家饰品</h3>
</li>
<li class="logo-5">
<i></i>
<h3>居家家具</h3>
</li>
<li class="logo-6">
<i></i>
<h3>爱上喝水</h3>
</li>
<li class="logo-7">
<i></i>
<h3>私家车</h3>
</li>
<li class="logo-8">
<i></i>
<h3>乐器类</h3>
</li>
</ul>
</div>
</body>
</html>

3.所用图片

看官需要将改图转化为png格式。(background-position属性的数值可以根据需求自行调整)

该文章为个人编写,如有错误之处,还请看官谅解!

CSS Sprites ——雪碧图的使用方法的更多相关文章

  1. CSS Sprites的原理(图片整合技术)(CSS精灵)/雪碧图

    CSS Sprites的原理(图片整合技术)(CSS精灵)/雪碧图   一.将导航背景图片,按钮背景图片等有规则的合并成一张背景图,即将多张图片合为一张整图,然后用background-positio ...

  2. compass Sprites 雪碧图 小图片合成[Sass和compass学习笔记]

    demo 源码 地址 https://github.com/qqqzhch/webfans 什么是雪碧图? CSS雪碧 即CSS Sprites,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法 ...

  3. CSS Sprite 雪碧图制作

    CSS Sprite 雪碧图,简单来说就是: 为了提高网页的性能,减少加载次数,将一些不会经常随网站内容变化的小图标,集中放在一张大图上,将该图应作为background-image 嵌入页面中,在需 ...

  4. CSS Sprite雪碧图

    为了减少http请求数量,加速网页内容显示,很多网站的导航栏图标.登录框图片等,使用的并不是<image>标签,而是CSS Sprite雪碧图. 两个小例子: 淘宝首页的侧栏图 代码 &l ...

  5. CSS Sprite雪碧图的应用

    CSS雪碧图,即CSS Sprite,也有人叫它CSS精灵图,是一种图像拼合技术.该方法是将多个小图标和背景图像合并到一张图片上,然后利用CSS的背景定位来显示需要显示的图片部分. 雪碧图的使用场景 ...

  6. CSS Sprite雪碧图应用

    在写网页过程中,会遇到这种需要使用多个小图标: 如上图中的「女装」文字左边的图标.容易想到的解决方法是为每张图片加入<img>标签,但这样做会增加HTTP请求数量,影响网站加载速度.比这更 ...

  7. css背景雪碧图等

    1.背景图 雪碧图技术 要设置背景,是要设置在某个盒子上 <!doctype html> <html lang="en"> <head> < ...

  8. css sprite 雪碧图

    使用雪碧图的目的:有时为了美观,我们会使用一张图片来代替一些小图标,但是一个网页可能有很多很多的小图标,浏览器在显示页面的时候,就需要像服务器发送很多次访问请求, 这样一来,一是造成资源浪费,二是会导 ...

  9. 【HTML+CSS】(2)CSS Sprite雪碧图

    1. 雪碧图的使用场景 (1). 静态图片.不随用户信息的变化而变化 (2). 小图片.图片容量比較小 (3). 载入量比較大 一些大图不建议拼成雪碧图,比如淘宝站点的导航图片都是使用的雪碧图. 2. ...

随机推荐

  1. 小程序中通过判断id来删除数据,当数据长度为0时,显示隐藏部分(交流QQ群:604788754)

    欢迎加入小程序交流群:本群定期更新在工作种遇到的小知识(交流QQ群:604788754) WXML: <!--遍历循环的数据部分--> <block wx:for="{{d ...

  2. python---文字云

    本文介绍的是数据可视化中的一种常见方式:文字云. 用Python构建文字云主要分为两步: 1)构建文字云 from wordcloud import WordCloud wc = WordCloud( ...

  3. SiteMesh3简介及使用

    所属专栏: Java开发经验记录   最近项目用到SiteMesh3,研究学习一段时间后决定写篇博文来记录收获. SiteMesh SiteMesh 介绍 工作原理 配置及使用 下载 1添加maven ...

  4. 修改 input中的placeholder的字体样式和颜色

    placeholder属性是css3中新增加的属性, 由于是新加入的属性因此对各大浏览器都不兼容: 因此在使用的时候要加兼容性 火狐:-moz-placeholder { /* Mozilla Fir ...

  5. 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。

    经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...

  6. .net公众号开发自动回复消息

    using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web. ...

  7. spring 定时任务执行2次

    eclipse 上定时任务执行没有问题,生产环境可以看到定时任务同时执行了2次,排除代码原因,网上找了些资料,最后发现是tomcat的原因, Host 节点中有一个appBase 属性指向了webap ...

  8. 对弈的C++学习笔记

    2018-07-11上传   一:从C到C++ 1.C++新类型 bool 判断真假 占用一个字节      if(条件) 真1或者假 0     bool 类型的取值 true false      ...

  9. PostgreSQL 问题总结

    一.postgresql  - server don't listen(服务器未监听) 1)检测是否开启PostgreSQL服务,没开启的话,需要自己手动建立PostgreSQL服务. 2)查看543 ...

  10. 什么是 Message Queue

    Message Queue 是一种非同步的从一个服务到另一个服务的交流形式, 被用于无服务器架构和微服务架构中. Messages 被储存在一个队列中直到被处理了或被删除. 每个Messages只会被 ...