让你显示一个天气图标你会怎么显示呢?让你做一个简单的动图你会怎么采用什么方式呢?让你输出一个长期固定的图标列表你会怎么编写代码呢?

如果不管性能,不用css,不用js,可能你会这么写html:

<

类似这样便是最原始的图片序列编写方式。然而即使有emmet加持,这种编写仍然费功夫而且浏览器的请求次数变多,网页更容易延迟。而使用精灵图的方法则可以更高效解决上述问题。

介绍一下精灵图:就是把多张小图片拼接成一张大图片,通过定位,设置X,Y轴坐标的值,并让超出部分隐藏,这样就可以显示图片的局部,也就是我们想要的部分,这样做有利于页面优化,当页面加载时,不是加载每个单独图片,而是一次加载整个组合图片。它大大减少了HTTP请求的次数,减轻服务器压力,同时缩短了悬停加载图片所需要的时间延迟,使效果更流畅,不会停顿。所以对于小图标列表表单来说,精灵图是一个是十分舒服的一种方式。

用css 定义一个4排的图标阵列。

<

CSS Sprites 其实就是把网页中一些背景图片整合到一张图片文件中,再利用 CSS 的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,一堆图标只用请求一次。,background-position 可以用数字精确的定位出背景图片的位置。

网络上的精灵图

然后通过JavaScript改变不同不同位置的显示,就有点像放着一个相框和一个背景,然后每移动一次背景,在相框中可以看到不同的图像。

JavaScript编写如下

<

通过循环改变图片显示的不同坐标,起到了“移动背景布”的作用。

最后输出结果类似这样:

CSS Sprites 看上去十分愉快,同上面的html简单方法显示一样,能很好地减少网页的http请求,从而大大的提高页面的性能,而代码也简洁大方。

而比如天气图标也可以这样修改。让精灵图包括晴雨雪等图标,然后当传入天气信息时便可以改变。

还有rpg游戏中的人物移动时的图片变换,都可以使用这种办法。


关键词:html+css+js 精灵图

html背景图不显示_批量显示多张有序排列的图标,使用精灵图CSS Sprites这种办法...相关推荐

  1. css背景图片高斯模糊_如何将网页CSS背景图高斯模糊且全屏显示

    以Path为代表的,展示了这种背景图模糊并全屏显示的方法,而且会根据屏幕分辨率放大缩小. 这种效果应该怎么实现呢? 高斯模糊是PS.FW图片处理工具搞的. 全屏显示的方法 1:使用CSS .bg { ...

  2. h5页面背景图在移动端不显示

    a{ background: url('../img/bg.png') repeat-y ; background-size: 100%; width: 100vw} 在移动端页面过长不显示背景图 修 ...

  3. iPad谷歌浏览器怎么开摄像头_谷歌浏览器书签栏怎么显示_谷歌浏览器显示书签栏步骤...

    通常在浏览器中,会显示书签栏,方便我们添加或查找一些常用网址,但是很多用户在使用谷歌浏览器的时候,却发现没有书签栏,这是因为被隐藏了,只要手动设置一下就可以显示了,那么谷歌浏览器书签栏怎么显示呢?接下 ...

  4. 小程序背景图满屏_手机秒变闪屏弹幕,撩妹小程序,赶快来学!

    想表白说不出口怎么办? 碰到心仪的小姐姐想要她的微信,说不出口怎么办? 去机场接机,还需要准备个手写牌? 演唱会上,少了LED灯牌?-- 这些都不是问题,只要你有一把智能手机! 小姐姐发现的这款『闪屏 ...

  5. 计算机怎么换背景图片,电脑开机背景图怎么换_怎么设置开机背景的教程

    最近有不少朋友问小编电脑开机背景图怎么换的问题,对于怎么设置开机背景的问题,相信还有很多朋友不太明白,有时候我们感觉系统自带的开机背景图片不好看,不符合我们的审美,想要换成我们喜欢的开机背景图,那么应 ...

  6. 手机html图片模糊,css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题_html/css_WEB-ITnose...

    最近在负责一个微信H5 App项目,遇到一个郁闷的问题,手机浏览器查看网页时图标都是模糊的,有锯齿,电脑浏览器显示则是正常.大概知道是分辨率适配等类型的问题,后来网上查找了一些办法,大部分的解决方案都 ...

  7. 点击箭头 切图 html,项目切图规范 css精灵图 css小箭头代码 BFC (Block Formatting Context) 块级格式化上下文...

    项目切图规范 PS常用工具 移动工具 移动工具主要负责图层.选区.等的移动.复制操作. 快捷键:v 抓手工具 快捷键:h 空格 + 鼠标左键拖动,空格键可临时转换为抓手工具. 放大镜工具 放大镜工具可 ...

  8. html鼠标放上虚化背景图片,如何将网页CSS背景图高斯模糊且全屏显示

    高斯模糊是PS.FW图片处理工具搞的. 全屏显示的方法 1:使用CSS.bg { background-image:url(scale.jpg); -moz-background-size: 100% ...

  9. 微信小程序页面添加背景图,图片全屏显示

    前言 微信的wxss里面不允许使用使用 background: url(),只能另外找方法进行背景图片显示. 方法 1.wxss页面里面设置页面的全屏宽高,以及view添加宽高 page{height ...

最新文章

  1. Accessing tools within a VB6 program - AE中使用VB调用Geoprocessing
  2. 第四届国际软件自由日在西安邮电学院的发言
  3. java多线程学习-java.util.concurrent详解(一) Latch/Barrier
  4. oracle中join另一个表后会查询不出一些数据_面试必备 | 8个Hive数据仓工具面试题锦集!...
  5. 单元格宽度_excel单元格如何设成正方形或者1mm的正方形
  6. Android Studio没有看到设备
  7. 使用JavaScript(jQuery或Vanilla)选中/取消选中复选框?
  8. NSIS nsDialogs 插件
  9. 为你的软件选择正确的许可证方案
  10. (亲测)使用cmd结束进程的3种方法
  11. 如何使用Python实现一个pdf阅读器?
  12. 远程服务器 Linux 用cityscape训练DeepLabv3模型(Pytorch版)并用图像测试
  13. hp 服务器可以安装win7系统安装,惠普HP预装Win10改Win7系统BIOS设置及安装教程
  14. 售前技能——自我定位
  15. 151308-48-4,Cyclo(-Gly-Asn-Trp-His-Gly-Thr-Ala-Pro-Asp)-Trp-Val-Tyr-Phe-Ala-His-Leu-Asp-Ile-Ile-Trp
  16. 第四周项目3---单链表的应用之连接
  17. java关注列表_如何从一个Instagram帐户中获取关注者列表?
  18. 微信小程序关注公众号模板显示隐藏问题
  19. Linux云计算面试常见问题三
  20. 面试官:JVM都不会,谁给你的勇气来面试?

热门文章

  1. linux内核的I2C子系统详解1——I2C总线概览、驱动框架概览
  2. framebuffer驱动详解2——framebuffer驱动框架分析
  3. 动态规划之91 decode ways
  4. 《MySchool数据库设计优化》内部测试
  5. HtmlAgilityPack/xpath
  6. Linux/Windows系统内核性能调优
  7. c/c++整理--c++面向对象(2)
  8. 你没干什么坏事,你怕什么?
  9. 生命很短,我用tldr
  10. win10系统的服务器在哪里设置密码,window10怎么设置密码