什么是css精灵图(sprite)?css精灵图怎么使用?下面本篇文章就来给大家介绍一下css精灵图的使用。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在了解精灵图怎么使用前,我们要先知道什么是精灵图。只有先知道什么是精灵图,了解精灵图的原理了,我们才可是说使用精灵图。

什么是css精灵图(sprite)?

css精灵图(sprite)直译为“CSS精灵”,也被称为通常被解释为“CSS图像拼合”、“CSS贴图定位”或“CSS图片精灵”、“CSS雪碧图”,是一种网页图片应用处理方式。其实就是把一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

怎么使用css精灵图(sprite)?

css精灵图(sprite)其实就是通过将多个图片融合到一张图片文件中,然后通过CSS background背景定位技术技巧布局网页背景。在需要用到图片的时候,现阶段是通过CSS属性background-image组合background-repeat, background-position等来实现图片的显示。

使用精灵图的优点对于浏览器来说请求多张小的图片和请求一张大的图片当然是后者的性能更好,大大减少了浏览器向服务器的请求次数,减少了http请求次数,这也是精灵图被广泛使用的主要原因。

使用精灵图可以减少图片的字节数,如果一张图片是4K,9张就是36K,而将所有图片整合在一张图片上之后,只需要4-5K就可以了。

在整理图片时,不需要纠结图片的取名问题,特别是在大型浏览器中,这种小的图片非常之多。将所有图片整合在一起,只需要取一个综合的名字就可以了,这样也可以大大提高工作效率。

如果想改变网站的风格,只需要改变一张图就可以了,便于后期的维护和修改。

使用精灵图的缺点一定要考虑当前盒子的大小会不会漏出其他图片,一般情况来说还可以,但是如果网页时自适应的,那么可能就会比较麻烦了。

精灵图的创建比较麻烦,要计算好每个图片之间的距离和位置,如果做的不合理,那么使用时就会比较麻烦。

精灵图在后期维护上也带来了一定麻烦,因为所有的图片是在一张图片上,甚至位置都是相互影响的,所以一旦改变了一个,可能整张精灵图都需要重新做。

实例

精灵图表:

代码示例:

html代码:

  • Firefox
  • Chrome
  • Explorer
  • Opera
  • Safari

css代码:ul.menu {

list-style-type: none;

width: 400px;

}

ul.menu li {

padding:20px 5px;

font-size: 16px;

float: left;

font-family: "Trebuchet MS", Arial, sans-serif;

}

ul.menu li a {

height: 50px;

line-height: 50px;

display: inline-block;

padding-left: 60px; /* To sift text off the background-image */

color: #3E789F;

background:url(Sprites.png) no-repeat; /* As all link share the same background-image */

}

ul.menu li.firefox a {

background-position: 0 0;

}

ul.menu li.chrome a {

background-position: 0 -100px;

}

ul.menu li.ie a {

background-position: 0 -200px;

}

ul.menu li.safari a {

background-position: 0 -300px;

}

ul.menu li.opera a {

background-position: 0 -400px;

}

ul.menu li.firefox a:hover {

background-position: 0 -50px;

}

ul.menu li.chrome a:hover {

background-position: 0 -150px;

}

ul.menu li.ie a:hover {

background-position: 0 -250px;

}

ul.menu li.safari a:hover {

background-position: 0 -350px;

}

ul.menu li.opera a:hover {

background-position: 0 -450px;

}

效果图:

html精灵图跟img标签,css精灵图怎么使用?相关推荐

  1. html精灵图的hover状态,css图片精灵图标怎么使用?

    css精灵图(sprite)直译为"CSS精灵",也被称为通常被解释为"CSS图像拼合"."CSS贴图定位"或"CSS图片精灵&q ...

  2. CSS精灵图、字体图标、三角、鼠标样式、用户界面样式、溢出省略号

    [CSS精灵图.字体图标.三角.鼠标样式.用户界面样式.溢出省略号] 本文档是个人对 Pink 老师课程的总结归纳及补充,转载请注明出处! 一.精灵图 1.1 为什么需要精灵图? 一个网页中往往会应用 ...

  3. CSS精灵图代码示例

    什么是css Sprite 当用户访问一个网站时,浏览器会向服务器发送一系列请求,比如说网页上的每张图像都需要经过一次请求才能最终展示给用户.然而,一个网页中往往包含大量的图像资源(例如在页面中展示的 ...

  4. css精灵列表使用实例,介绍一个导出CSS精灵图动画的AE小脚本

    作者:李威 在H5项目中如果有动画需求,一个常见的流程是设计师用 After Effect 制作动画,然后导出为序列帧. 序列帧就是一张张图片,快速连续播放就能成为动画,但是在H5里直接播放序列帧对网 ...

  5. css精灵图(雪碧图)切图

    css精灵图 为了节省网络资源,通常网页上小图标和图片都合成在一张图片上,到使用的时候再切图 雪碧图切图简单过程:先在ps中打开,然后通过用矩形覆盖原来图标在图片中的位置,查到目标图标大小,设置宽高, ...

  6. Web前端知识CSS(清浮动的方法、CSS精灵图、滑动门)

    一.清浮动的方法 清除浮动的方法1.给浮动元素的父级盒子设置一个固定的高度优缺点:不够灵活,适用于高度固定的布局中 ​2.为浮动元素的父级盒子设置浮动优缺点:会产生新的浮动问题 ​3.为浮动元素的父盒 ...

  7. web——CSS精灵图(背景图、定位背景图片background-position属性)

    web--CSS精灵图(背景图.定位背景图片background-position 属性) 一.background-position属性 二.实例 一.background-position属性 例 ...

  8. CSS 精灵图的使用;精灵图不见了;如果一次性设置多个精灵图

    1. 先来一波排错: 为什么精灵图无法显示? 容器太小,图片显示不全 容器是行内元素,没有内容,宽高没有撑开.可以转化为块级/行内块,设置宽高 背景图片的url地址写错 检查背景图片绝对引用/相对引用 ...

  9. 精灵图(sprite)CSS动画实现

    精灵图 动画效果如下 HTML代码 <div class="boxA"></div> css代码 .boxA {width: 100px;height: 4 ...

最新文章

  1. 对象存储/编码/解码
  2. 解决Eclipse中SVN版本比较中文乱码问题
  3. java同事不写泛型_跳了一次JAVA泛型擦除的坑
  4. appium-andriod自动化实现注意项
  5. 数据结构与算法--图的表示与常用算法
  6. 3DS MAX的灯光
  7. Oracle RAC tns 00505,Alert Log Errors: 12170 TNS-12535/TNS-00505: Operation Timed Out
  8. java万年历 for_java万年历
  9. CSS第五天总结——PS切图、CSS属性书写顺序
  10. Python - PyQT5开发UI界面 - 环境搭建
  11. 为什么有些人拼了命也要考上985?
  12. 解锁忘记密码的iPhone X
  13. 渗透中常用的在线工具和网站总结
  14. C#编写上位机连接华为云平台IoTDA
  15. POJ 1076 Bowl 笔记
  16. MCAL系列介绍03-ADC
  17. HTMLCSS三列布局
  18. 千人规模组织级 DevOps 演进的 9 个实践及技巧
  19. Python拉勾网数据采集与可视化
  20. 3600元搞定4篇SCI影响因子超40,这个润色机构为啥可以这么给力

热门文章

  1. Hadoop-HDFS写文件
  2. 使用RANK函数按计算机基础的降序求名次,在EXCEL中如何利用RANK(number,ref,order)函数求名次排名...
  3. 自己写个网络IP扫描Shell脚本
  4. Python 用pip批量安装包 requirements.txt(python查看安装的第三方扩展包)| 利用requirements.txt离线安装依赖包
  5. linux svn 增量备份脚本,svn全量和增量备份详解(示例代码)
  6. 如何使用Aircrack-ng工具破解无线网络(kali 使用RT3070L芯片Ralink 802.11 n网卡破解WPA/WPA2无线网络)
  7. python for菜鸟_菜鸟Python学习
  8. 第九章 - 实现技术
  9. 大神指点:初级小白如何学好接口测试
  10. Linux环境配置编译orange,orangepi zero2编译环境搭建及传感器测试