CSS sprites 技术
Css Sprites 技术逐渐流行,各大网站上都可以看到它的身影。
但从本质上,Css Sprites 只是 Css 技术的一个使用小窍门,初学者也能快速上手。
Css Sprites 简单解释:
定制元素的长和宽,把元素变成一个取景框,然后通过背景图片的相对位移来显示图片中需要的部分。
以下就用一个由多幅图片组成的导航栏作为例子,解释一下 Css Sprites使用中需要注意的地方
html结构
<li id='nav_1'></li>
<li id='nav_2'></li>
<li id='nav_3'></li>
</ul>
Css代码 注意:虽然能正确显示,但需要优化
#nav_1,#nav_2,#nav_3{ width:80px; height:24px;}
#nav_1{background:url(images/nav.gif) no-repeat -5px -10px;}
#nav_2{background:url(images/nav.gif) no-repeat -105px -10px;}
#nav_3{background:url(images/nav.gif) no-repeat -210px -10px;}
</style>
Css代码 注意:这才是正确的代码
#nav_1,#nav_2,#nav_3{ width:80px; height:24px; background:url(images/nav.gif) no-repeat;}
#nav_1{background-position: -5px -10px;}
#nav_2{background-position: -105px -10px;}
#nav_3{background-position: -210px -10px;}
</style>
为什么两段CSS代码显示的效果一样,但我说其中一个是正确的,而另外一个需要优化?
这就回到一个核心问题:为什么我们要使用Css Sprites技术?
在网页设计的过程中,有一个环节叫做“切片”,我们都知道,切片的目的是把图片分割成
小块,读取页面的时候能够分开加载,让用户更快的看到页面,当然切片更多是为了后续
的设计需要。
然而任何技术的诞生都有它的时代背景,Css Sprites诞生在一个普及宽带的环境下,在
这个环境中,图片的体积并不是影响用户访问速度的关键,大量的HTTP请求导致服务器
堵塞才是关键,当服务器堵塞就会出现部分图片无法显示,也就是常见的:红X。
Css Sprites 技术就是为了解决这个问题而诞生的。相信谁也不愿意看到自己精心制作的
图片导航栏,由于部分图片加载失败而变得奇丑无比吧?
让我们回到代码,从HTTP请求数量的角度去分析,为什么第一段CSS需要优化,在这种
情况下,浏览器会认为 #nav_1 #nav_2 #nav_3的背景是3张图片,请求3次,而第二种
情况下,浏览器才会正确的识别出3个元素使用的是同一张图片,只产生一个HTTP请求。
在常见的页面导航条,CMS系统,OA系统等设计中,大量使用了小图标,一个页面可能
就有几十个小图片需要加载,一旦出现某些图标显示不了,这将大大降低用户友好度,
使用Css sprites技术,把所有图片集成在一张图片上,然后只加载一次,全部图标都会
同时显示,甚至我们可以在负载较轻的页面预先加载整站的图标文件,当别的页面需要
使用时就可以从缓存调出,从而大大提高了WEB 应用的效率。
CSS sprites 技术的更多相关文章
- 用DIV+CSS切割多背景合并图片 CSS Sprites 技术
很久之前就在互联网网站和一些js插件中见过这种技术的应用,当时觉得很麻烦,就没有用,也没有去深究. 近段时间一直在做前台的一些东西,涉及到很多div+css的问题.这个东东我又碰到了,所以我花了点时间 ...
- CSS Sprites技术
CSS Sprites技术,国内很多人也叫雪碧图,因为sprite麻 (你买一瓶雪碧就看得到大大的sprite字样了) 主要用于将网站的零碎图标的img标签取代,因为每个img标签引用的src就会造成 ...
- CSS Sprites技术原理和使用
在分析各个网站的CSS时,我们经常可以看到一些网站有很多的元素共享了一张背景图片,而这张背景图片包含了所有这些元素需要的背景,这种技术就叫做CSS Sprites. 淘宝的css sprites ...
- 如何使用CSS Sprites技术进行图片合并
http://jingyan.baidu.com/article/066074d6757654c3c21cb02d.html
- CSS Sprites (CSS图像拼合技术)教程工具
什么是CSS Sprites? “Sprite”(精灵)这个词在计算机图形学中有它独特的定义,由于游戏.视频等画质越来越高,必须有一种技术可以智能的处理材质和贴图,并且要 同时保持画面流畅.“Spri ...
- (转)CSS的Sprites技术
Css Sprites 技术逐渐流行,各大网站上都可以看到它的身影. 但从本质上,Css Sprites 只是 Css 技术的一个使用小窍门,初学者也能快速上手. Css Sprites 简单解释: ...
- CSS Sprites (CSS 精灵) 技术
CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢 ...
- 【CSS】CSS Sprites (CSS 精灵) 技术
CSS Sprites CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不 ...
- CSS Sprites(CSS图像拼合技术)教程、工具集合
本集合是有一位国外设计师收集整合,并由 oncoding翻译成中文的,感谢他们的辛苦贡献.CSS Sprites技术在国外并不是什么新技术,只不过近两年(尤其08年开始)中国开始流行这个词,大家也开始 ...
随机推荐
- corsproxy
安装完 node.js运行 npm install -g corsproxy安装完成 corsproxy
- ARM-Linux S5PV210 UART驱动(2)---- 终端设备驱动
在Linux中,UART串口驱动完全遵循tty驱动的框架结构,但是进行了底层操作的再次封装,所以先介绍tty终端设备驱动. 一.终端设备 1.串行端口终端(/dev/ttySACn) 2.伪终端(/d ...
- poj 3641 Pseudoprime numbers Miller_Rabin测素裸题
题目链接 题意:题目定义了Carmichael Numbers 即 a^p % p = a.并且p不是素数.之后输入p,a问p是否为Carmichael Numbers? 坑点:先是各种RE,因为po ...
- Only the original thread that created a view hierarchy can touch its views
在调试软件的时候出现如下的错误: 01-05 20:53:36.492: E/ZZShip(2043): android.view.ViewRootImpl$CalledFromWrongThread ...
- Group 原则
select 后面的所有劣种,没有使用聚合函数的列,必须出现在 group by 后面,比如下面的例子 insert into #temp_move2 ) from #temp_move group ...
- 开发之前的思考-UI结构设计
UI结构设计遵循的一些要点 1.尽量不要让UI作为Camera的子物体 因为UI和摄像机敏感的关系,尽量不要将UI作为摄像机的子物体,避免出现一些因为透视(3D UI)等问题导致的视觉Bug. 2.尽 ...
- hdu 4706 Children's Day(模拟)
http://acm.hdu.edu.cn/showproblem.php?pid=4706 [题目大意]: 用a-z排出N的形状,输出大小为3-10的N,如果超过z之后,重新从a开始 下面是大小为3 ...
- centos7 下手动安装MySQL-5.6.32-1.linux_glibc2.5.x86_64.rpm-bundle
由于centos7默认不再是mysql数据库,所以度算手动安装一个. 全程参考http://www.2cto.com/database/201501/371451.html 这里摘抄以下这个链接的内容 ...
- where, group by, having
where vs having 当一个sql语句中存在where子句,会先执行where,然后执行group by,然后执行having. 一般来说,only use 'having' when yo ...
- 解决Oracle ORA-00984: column not allowed here
某列是字符列,结果忘记加单引号了 INSERT INTO prt_document_present (company_code, doc_no, seq_no, field_name, desc_ms ...