【web前端性能优化】12.css sprite(图片精灵)-雪碧图实现原理

article/2025/3/10 12:51:50

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

举个应用的实例:这是淘宝网的分类导航实例,每个目录的前面都会有一个图标,实现这个图标的方法有两种,一种是直接使用image标签,对每个需要图标的地方都设置一个image标签,这种方法的缺点是需要很多的请求来获取图片,因为每一个image都是请求回来的,如果少量的图标的还好,如果很多的话体验会受到影响。另一种的就是利用css雪碧图的形式来制作,把所有图标都放到一个图片上,请求的时候只请求这个图片,在需要显示图标的地方开一个小小的口(显示图标的范围),通过对背景图片的background-position来进行定位,最后把需要的图标刚好对准这个口就好了。

实现原理:CSS雪碧的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。该图片使用CSS background和background-position属性渲染,这也就意味着你的标签变得更加复杂了,图片是在CSS中定义,而非<img>标签。

优点:

(1)减少加载网页图片时对服务器的请求次数

可以合并多数背景图片和小图标,方便在任何位置使用,这样不同位置的请求只需要调用一个图片,从而减少对服务器的请求次数,降低服务器压力,同时提高了页面的加载速度,节约服务器的流量。

(2)提高页面的加载速度

sprite技术的其中一个好处是图片的加载时间(在有许多sprite时,单张图片的加载时间)。由所需图片拼成的一张GIF图片的尺寸会明显小于所有图片拼合前的大小。单张的GIF只有相关的一个色表,而单独分割的每一张GIF都有自己的一个色表,这就增加了总体的大小。因此,单独的一张JPEG或者PNG sprite在大小上非常可能比把一张图片分成多张得来的图片总尺寸小。

应用实例:

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>雪碧图实现原理</title>
</head>
<style>ul,h3{margin: 0;padding: 0;}h3{display: block;margin: 0;padding: 0;}.cat{position: relative;width: 150px;background-color: #f8f8f8;border: 1px solid #bbb;}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:hover{background-color:#666666;}li h3{font-size: 13px;font-weight: 400;}li i{display: inline;float:left;margin: 3px 10px 0 0;height: 24px;width: 30px}/* 在这里补充雪碧图的样式 */li>i{background:url('http://img.mukewang.com/539a950e00015ba500710200.jpg');}.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;}
</style>
<body>
<div class="cat"><ul><li class="cat-1"><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>

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/BZmp6lbM.shtml

相关文章

练习京东顶部导航条、背景、渐变、按钮练习(雪碧图)、渐变

练习 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content&qu…

DaZeng:雪碧图(精灵图)的使用

雪碧&#xff08;精灵&#xff09;图 要求显示效果&#xff1a;&#xff08;轮播图导航栏效果&#xff09; 页面结构&#xff1a; <ul class"list-box"><li></li><li></li><li></li><li></li><li><…

a与雪碧图在导航处的使用

a与雪碧图在导航处的使用 实现效果为鼠标未放上之前为默认颜色&#xff0c;放上之后变成可以选中的红色。 选中前的效果&#xff1a; 选中后的效果&#xff1a; 设置的HTML源代码为&#xff1a; 设置未选中前的CSS代码&#xff1a; 设置选中前的a颜色以及div中的雪碧图类型…

【Unity ShaderGraph使用雪碧图制作导航光效效果】

效果&#xff1a; ShaderGraph的制作&#xff1a; shader中uv数和雪碧图的uv数对上就能出效果。 直接上代码&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class TurnDirEffectController : …

css超链接样式+雪碧图实现导航

一、CSS链接的四种状态【演示前清除浏览器记录】 1.1 a:link 普通的、未被访问的链接&#xff1f;&#xff1f;&#xff1f; 1.2 a:visited 用户已被访问的链接&#xff1f;&#xff1f;&#xff1f; 1.3 a:hover 鼠标指针位于链接的上方 1.4 a:active 链接被点…

Apache Flink Meetup 8.7 深圳站,企业实践 + 1.14 新特性预览

时隔 10 个月&#xff0c;Apache Flink Meetup 又来到了深圳这个与 Flink 契合度很高的城市。正如改革和创新是深圳的标签&#xff0c;Apache Flink 给技术开发者们带来的&#xff0c;也是摒弃旧的 “批处理” 思维&#xff0c;迎接新的 “流批一体” 趋势。那么本次的 Meetup …

JUST技术:利用轨迹拼接分析实时可达区域

如何快速得知从你的位置开始出发&#xff0c;在当前的交通状况下&#xff0c;5分钟之内能够抵达的空间区域范围&#xff1f;当你掏出手机打车时&#xff0c;出租车调度平台应该通知哪些范围的车主进行接单&#xff1f;本文将带来被国际著名数据库和数据挖掘会议DASFAA 2020 &am…

基于在线地图的轨迹跟踪服务_JUST技术:利用轨迹拼接分析实时可达区域

作者&#xff1a;JUST团队-李瑞远 如何快速得知从你的位置开始出发&#xff0c;在当前的交通状况下&#xff0c;5分钟之内能够抵达的空间区域范围&#xff1f;当你掏出手机打车时&#xff0c;出租车调度平台应该通知哪些范围的车主进行接单&#xff1f;本期技术前沿&#xff0c…

CCF 区块链国际会议 统计 有哪些接收区块链论文的会议 (最全)

投稿截止日期排序 区块链相关会议和论文信息&#xff1a;元宇宙最新报告 1. USENIX ATC CCF等级&#xff1a;A 最近截止日期&#xff1a;2022-01-06 会议全称&#xff1a; USENIX Annual Technical Conference 是否有区块链Topics&#xff1a;否 录用率&#xff0c;接收比…

【计算机视觉】会议投稿相关推荐

一个call for paper的站点&#xff0c;small推荐给我的&#xff1a;http://www.wikicfp.com/cfp/ 能够加入自己关注的会议&#xff0c;会生成对应的deadline列表。非常方面~ 还有一个是中科院的CCF推荐排名&#xff1a;http://www.ccf.org.cn/sites/ccf/paiming.jsp&#xff0c…

中科院计算所在可信大数据软件技术方面的研究工作【DOC+PPT下载】

http://pan.baidu.com/s/1qWOCMxm 清单&#xff1a; 中科院计算所在可信大数据软件技术方面的研究工作.doc 【本文doc文档】 中科院计算所在可信大数据软件技术方面的研究工作.ppt 【本文ppt演讲稿】 PS&#xff1a;前段时间接到任务&#xff0c;对中科院计算所在可信大数…

蚂蚁金服ATEC城市峰会上海举行,三大发布迎接金融科技2019

2019年1月4日&#xff0c;蚂蚁金服ATEC城市峰会以“数字金融新原力&#xff08;The New Force of Digital Finance&#xff09;”为主题在上海举办。稠州银行副行长程杰、蚂蚁金服副总裁刘伟光、蚂蚁金服金融科技产品技术总监杨冰、蚂蚁金服创新科技部资深总监李杰力等出席本场…

论文阅读《Multi-view Multi-behavior Contrastive Learning in Recommendation》

多行为推荐&#xff08;MBR&#xff09;旨在联合考虑多种行为以提高目标行为的推荐效果。我们认为 MBR 模型应该&#xff1a;&#xff08;1&#xff09;对用户不同行为之间的粗粒度共性进行建模&#xff0c;&#xff08;2&#xff09;在多行为建模中同时考虑局部的序列视图和全…

技术动态 | 不确定性知识图谱的表示和推理

本文转载自漆桂林知乎。 作者 | 张嘉韬、漆桂林、吴天星 文章链接 | https://zhuanlan.zhihu.com/p/369068016

【全年汇总】2023年CCF数据库/数据挖掘/内容检索会议截稿时间汇总(持续更新)

本博文是根据CCF会议推荐的数据库&#xff0f;数据挖掘&#xff0f;内容检索领域相关会议目录撰写。 一、截稿时间总览 截稿时间的总时间轴内容将会持续更新...... 往年投稿及录用情况及链接详见图片后面的内容。 二、会议详细目录 由于一些会议的投稿时间还没公开&#xff0c…

多视图多行为对比学习推荐系统

嘿&#xff0c;记得给“机器学习与推荐算法”添加星标 作者&#xff1a;吴贻清 单位&#xff1a;中科院计算所 研究方向&#xff1a;多行为推荐 多行为推荐&#xff08;MBR&#xff09;旨在联合考虑多种行为以提高目标行为的推荐效果。我们认为 MBR 模型应该&#xff1a;&…

深度 | 蚂蚁金服DASFAA论文带你深入了解GBDT模型

小蚂蚁说&#xff1a; 2018年5月21日&#xff0c;国际顶级数据库会议DASFAA 2018&#xff08;International Conference on Database Systems for Advanced Applications&#xff09;在澳大利亚黄金海岸举办。 本文是蚂蚁金服录用于DASFAA的论文Unpack Local Model Interpretat…

DASFAA 2023|创邻周研博士分享前沿图数据库观点

4月17-20日&#xff0c;2023年第28届高级应用数据库系统国际会议&#xff08;DASFAA2023&#xff09;在天津成功举行。创邻科技CTO周研博士受邀参会&#xff0c;围绕Galaxybase国产高性能图数据库进行精彩分享。 DASFAA 2023由DASFAA指导委员会&#xff08;DASFAA Steering Co…

MATLAB卸载时卡住无响应解决办法——已解决

先把安装MATLAB的文件夹内容全部删除 再winR, 输入regedit&#xff0c;CtrlF, 搜索mathworks全部删掉

window10下matlab7.0怎么卸载

解决在Windows10环境下想要卸载matlab7时&#xff0c;如果直接点击uninstall文件夹中的uninstall.exe文件&#xff0c;会弹出exception calling main问题,这时修改一下兼容性即可正常卸载&#xff0c;步骤如下&#xff1a; 一、找到matlab7安装目录下的uninstall文件夹&#x…