什么是CSS Sprites?

CSS Sprites技术详解与应用 本文还有配套的精品资源,点击获取 简介:CSS Sprites技术通过合并多个图像为一,并通过CSS背景定位展示所需部分,减少HTTP请求,提高网页加载速度。该压缩包包括一个CSS Sprite技术指南PDF和一个合并图像文件。指南可能涵盖了创建和使用CSS Sprites的方法,精灵定位技巧,以及在响应式设计中的应用。实际的Sprite图像文件可用于实践和理解该技术。掌握... 阅读详情

这里是修真院技术分享

【 什么是CSS Sprites?】

1.背景介绍
CSS Sprites简介

   加速的关键,不是降低质量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求。所以,图片越多请求次数越多,造成延迟的可能性也就越大。

2.知识剖析
CSS Sprites原理

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

1.利用CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;

2.CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。

3.解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。

4.更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。

3.常见问题
诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点,如下:

1.在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;

2.CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸好腾讯的鬼哥用ADOBE AIR开发了一个CSS Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!

3.CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增加了,还要改动css。

4.CSS Sprites非常值得学习和应用,特别是页面有一堆icon(图标)。总之很多时候大家要权衡一下利弊,再决定是不是应用CSS Sprites。

4.解决方案
CSS Sprites的使用

有几篇关于CSS Sprites的文章,基本上把其原理和机制说明得很清楚。

What Are CSS Sprites?

How to create CSS sprites

Creating Rollover Effects with CSS Sprites

Building a Dynamic Banner with CSS Sprites

High Performance Web Sites中关于CSS Sprites的内容3.2. CSS Sprites

5.编码实战
CSS Sprite的例子

.bg_sprite{background-image:url(/整图地址); background-repeat:no-repeat}

引用该类 … 然后在元素中逐一定义背景坐标 … 以下为关键属性 …

#ico1 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}

#ico2 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}

#ico3 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}

.nav {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}

必须要限定容器大小符合背景图元素位置 … 另外 … XY轴是相对于整张图片的左上角来算的 … 所以取值一定要算清楚。

CSS Sprites的问题

由于IE6存在的background的flicker问题IE6/Win, background image on , cache=‘check every visit’: flicker!,有人针对此问题提出了解决方案Fast Rollovers Without Preload

关于IE6的flicker问题,fivesevensix上有一篇很不错的研究文章Minimize Flickering CSS Background Images in IE6

另外:brunildo的CSS tests and experiments是关于css各种功能不错的参考手册和测试工具。

CSS Sprites 样式生成工具是有腾讯的鬼哥使用RIA开发一个针对CSS Sprites 的样式生成工具,小巧,实用,可惜部分功能使用起来还不是很灵活,希望鬼哥继续升级。

CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐,还要书写出css;实用这个工具就能在很大程度改善这个问题;

目前最新版本是V1.5,已经有了放大镜功能。不多少了,还是刚快试试吧,

6.扩展思考
如何实现雪碧图自适应

雪碧图自适应主要利用background-size属性,该属性允许我们使用百分比。那么在雪碧图都是规则的正方形下,我们可以采取下面的排布方式:

这样排布的话,当我们设置background-size属性为200%时,就可以只显示该大正方形的四分之一的内容,配合background-position属性的百分比设置完成雪碧图的自适应。

7.参考文献
1.Creating Rollover Effects with CSS Sprites

2.Building a Dynamic Banner with CSS Sprites

3.High Performance Web Sites中关于CSS Sprites的内容3.2. CSS Sprites

【5G演进】4G到5G演进之网络架构与协议栈 4G到5G演进之网络架构与协议栈 阅读详情

相关推荐

AutoCAD2014与ObjectARX开发环境搭建实战指南

本文提供了一份详细的AutoCAD2014与ObjectARX开发环境搭建实战指南。内容涵盖从AutoCAD2014、Visual Studio 2010及ObjectARX 2014 SDK的版本匹配与环境准备,到Wizard安装、编码问题解决、Visual Studio配置,并最终通过一个完整的绘图命令开发示例,手把手引导开发者创建并加载第一个可运行的ObjectARX插件,为后续深入开发奠定坚实基础。

weixin_28475533的博客 287

什么是css sprites?

1.背景介绍      当在浏览器里输入一个URL地址的时候,你会感觉无数张图片“唰唰唰”的闪出来了。在这个过程中,浏览器会把这个网站的主资源(就是Html文件)拉取回来,然后开始分析网页中的Js,Img之类的标签,然后再去拉取这些图片和资源,这些后拉取的资源称为「子资源」。       对于浏览器来说,他们的请求方式都是发起一个Http请求,经历三次握手,并把文件拉取回来,一般的浏览器内核只能同...

qq_40617528的博客 6040

LTE信令流程实战:从Attach到Service Request的完整解析(附常见问题排查)

本文深入解析LTE信令流程中的Attach和Service Request关键环节,提供从基础原理到实战排查的完整指南。涵盖鉴权、承载建立等核心步骤,分析常见故障模式及优化方案,并附赠信令跟踪工具使用技巧,助力通信工程师提升网络运维效率。

alpha的博客 319

“约见”面试官系列之常见面试题之第五十一篇之CSS Sprites(建议收藏)

CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需 顾忌这个问题。   加速的关键,不是降低重量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请.

歌谣的博客 796

Spring Boot 实现多图片上传并回显,涨姿势了~

上传 Controller的代码非常简单,由于用了SpringMVC框架,所以直接用MultipartFile来接即可。由于是多图片上传所以用数组来接。此处应该注意参数名应该和<input>中的name值相对应: @RequestMapping("/pic") @ResponseBody publicResponseEntity<String>pic(MultipartFile[]pictures)throwsException{ ResponseEnti...

weixin_54556126的博客 893

Aras Innovator生命周期图实战:从配置到权限管理的全流程解析

本文详细解析了Aras Innovator生命周期图的全流程配置与权限管理,从基础概念到实战应用,涵盖状态设置、路径配置、权限控制等核心功能。通过实际案例和代码示例,帮助用户掌握如何高效管理数据生命周期,提升业务流程的规范性和效率。

ee345的博客 167

CSS基础:精灵技术(sprites)

其实网页在加载的时候每请求一次图片就算一次请求,请求次数过多也会造成服务器压力过大,相应变慢。而精灵图(sprites)技术就算解决这个问题:减少对服务器的请求次数。 为什么减少了图片的请求次数呢?说白了将一些小图标或者图片放在一张图片里面,然后通过CSS定位展示其中需要的部分。 王者荣耀网页种我标记的两个位置,看似没什么关系,但是通过后台看的话,发现一件事,那就是图片的却都是来自一张图片: 所以可以看出精灵图核心: 精灵技术主要是针对背景图片的使用,就是把很多小背景图片放在一张大图片种,减少服务器请求

u011863822的博客 3804

别再踩坑了!QT5.15.2配置Android开发环境保姆级避坑指南(含Java8、SDK Tools版本选择)

本文提供QT5.15.2配置Android开发环境的详细避坑指南,重点解决版本锁定、SDK工具选择和QtCreator配置等常见问题。通过实测推荐的Java8、Android SDK Tools版本及NDK配置,帮助开发者高效完成环境搭建,避免隐性冲突和配置失败。

weixin_42537919的博客 237

图片优化: CssSprites与Base64编码

CSS Sprites 并不是一门新的技术了,目前他发展的已经比较成熟,阿里巴巴、百度、谷歌 等各公司的网页中到处都可以发现CSS Sprites 的影子。对于当前的网络所流行的速度来说,不超出200kb的单张图片所需要的加载时间基本是差不多的,节省加载速度的关键不是降低重量,而是。所以,图片越多,所请求的次数就越多。通过整合图片,减少对服务器的请求数量,减少图片的体积从而减轻服务 器的负担,提高网页的加载速度。中去,这样一来,当访问这个页面时,所加载的图片就不会像以前那样一张一张的慢慢显示出来了。

weixin_52268321的博客 1311

用Java和MQTT搞定大疆无人机自动巡检:一个真实机场项目的踩坑与优化记录

本文详细介绍了如何利用Java和MQTT协议实现大疆无人机在机场自动巡检系统的开发与优化。通过实战案例分享系统架构设计、通信协议选型、断线重连机制及数据通道优化等关键环节,帮助开发者解决GPS信号漂移、MQTT消息风暴等典型问题,提升系统性能和可靠性。

weixin_30275415的博客 495

模组 RG500Q入网问题分析

- [ ] 不同于公网,在5G专网环境中, 通常使用很多非标准的网络配置,如PLMN/APN等。因此,5G模组在专网环境下通常要做一些专门的配置才能正常入网,本文分析一例在专网环境, 5G终端无法入网问题的定位过程。 - [ ] 具体涉及到以下模组操作: 恢复出厂、SA only、锁BAND、配置MBN等

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 935

css 的sprites,CSS Sprites

Discover the Very Cool World of CSS Sprites!If you want your website to ooze with that "WOW" factor everyone strives for (but most miss) ...if you want your website to create a positively GREAT first ...

weixin_42401159的博客 249

焊缝缺陷智能检测:基于 YOLO 的工业质检系统实战

从焊缝缺陷数据集的构建到模型训练,从桌面检测界面到缺陷统计输出,本文覆盖了一套工业焊缝质检系统的完整路线。这个场景的核心难点在数据层面——气孔和裂纹这类小目标的标注质量直接决定了模型的最终表现。建议先在开源数据集上跑通全链路,确认 mAP 达到可接受的水平后,再通过补充特定类型的小目标数据和提升输入分辨率来做精度优化。工业场景中,漏检一个气孔的成本和误报一个假阳性的成本不一样——根据对两类成本的承受力,调整置信度阈值来找到业务上的最佳平衡点。

m0_71589036的博客 202

CSS-sprites

CSS-sprites,又叫精灵图 欢迎访问我的博客,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~ 概念:CSS-sprites,又叫精灵图,也是CSS图像拼合或者CSS贴图定位 CSS-sprites拼合 选择合适的图像素材去拼合到一张图片上,再、利用定位将图像在网页中渲染出来 一般小素材或者icon类素...

王工头的博客 460

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

CSS Sprites技术

随着Web设计向着精致、巧妙的方向发展,设计师们开始考虑使用非Javascript的方 式制作鼠标滑过、悬停菜单的效果,这时CSS Sprite应运而生。 CSS Sprites简介   通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但

257

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【CSS 面经】对 CSS Sprites 的理解

CSS Sprites 是一种将多个小图片整合到一张大图中的技术。通过使用 CSS 的属性,可以精确显示大图中的某一部分,从而模拟出使用单独小图片的效果。答:CSS Sprites 是一种优化网页性能的技术,通过将多个小图片整合为一张大图,减少 HTTP 请求,提高加载速度。

lph159的博客 1063

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

css sprites拼合

一、什么是css sprites css sprites直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。就是把网页中一些背景图片整合拼合成一张图片中,再利用DIV CSS的...

qq_29069777的博客 227

CSS Sprites定位实现

何为CSS Sprite通常我们把它叫做CSS图像拼合技术,当然还有人把CSS Sprites叫做”CSS贴图定位”。原理CSS Sprites 原理:其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用

CRPER 3095

详解什么是css sprites

CSS Sprites,是一种网页图片应用处理方式:将一个页面涉及到的零星图片都包含到一张大图中去。这样一来,当访问该页面时,客户端只需要向服务器请求少量的图片,图片越多请求次数越少,造成延迟的可能性也就越小,能有效减轻服务器的压力。 CSS Sprites其实就是把网页中一些

hi__world 578

CSS Sprites的原理和使用

CSS Sprites的原理和使用 在分析各个网站的CSS时,我们经常可以看到一些网站有很多的元素共享了一张背景图片,而这张背景图片包含了所有这些元素需要的背景,这种技术就叫做CSS Sprites。 淘宝的css sprites 这样做有什么好处呢?我们做一个简单的实验: 假设我需要有一个列表,每一行列表都需要一个自己的修饰符。如果使用普通的img来放置这些图片:

a6717043的专栏 625

css sprites使用

【代码】css sprites使用。

weixin_43923808的博客 376

CSS sprites 应用

1.背景介绍 当在浏览器里输入一个URL地址的时候,你会感觉无数张图片“唰唰唰”的闪出来了。在这个过程中,浏览器会把这个网站的主资源(就是Html文件)拉取回来,然后开始分析网页中的Js,Img之类的标签,然后再去拉取这些图片和资源,这些后拉取的资源称为「子资源」。 对于浏览器来说,他们的请求方式都是发起一个Http请求,经历三次握手,并把文件拉取回来,一般的浏览器内核只...

weixin_42012282的博客 759

CSS Sprites技术的优缺点

1.CSS Sprites的优点 (1)利用CSS Sprites能很好地减少网页的http请求,从而大大提高了页面的性能,这也是CSS Sprites最大的优点; (2)CSS Sprites能减少图片的字节,曾经多次比较过,把3张图片合并成1张图片的字节总是小于这3张图片的字节总和。 2.CSS Sprites的缺点 (1)在图片合并时,要把多张图片有序的、合理的合并成一张图片

4061

css sprites demo

CSS Sprites are the preferred method for reducing the number of image requests. Combine your background images into a single image and use the CSS background-image and background-position properties ...

shuijingyue 245

CSS-sprites,又叫精灵图

CSS-sprites,又叫精灵图 欢迎访问我的博客https://qqqww.com/,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~ 概念:CSS-sprites,又叫精灵图,也是CSS图像拼合或者CSS贴图定位 CSS-sprites拼合 选择合适的图像素材去拼合到一张图片上,再、利用定位将图像在网页中渲染出来 一般小素材或者icon类素材或者比较少改动的图片适合拼合为CSS...

王工头的博客 497
上一篇: 简述JS中执行环境与作用域的关系
下一篇: 简述angular 中constant和$filter的用法?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值