更多测试实践请访问:Http://www.zhuaijun.cn

WEB程序性能优化之CSS Sprites

上一篇 / 下一篇  2008-11-07 00:25:11 / 个人分类:性能测试

$YX a;z3dnk;M0前几天看了篇关于CSS Sprites的文章(mg12),这样一种追求完美的技术,不仅仅是体现开发者的满足感,更重要的是为服务器节省了很可观的资源,目前这个web程序盛行的年代,这个技术应该是每个关注性能的人都应该了解的。作为一个测试人,你可能不需要去精通这个技术如何使用,但是在某些时候,你或许可以建议公司的产品使用它。

{[,CI/zh_0

C&z SFd/}DQ.}0CSS Sprites简单来讲就是:将小图标拼在一个图片文件里. 然后在 CSS 中通过 background-position 定位访问图标。CSS Sprites对于访问量很大的网站来讲好处显而易见。我们知道基于http协议,服务器上每一个独立的资源(图片,css,js等)浏览器都要通过一个get请求来获取。如果网站上只有10个图标,那每一个访问者初次访问时都要发送10个get请求来获取这十个图标,但是如果使用CSS Sprites,就能把请求数降低到原来的十分之一,也许每一个get消耗的时间非常短,但是这个时间和一个主流的门户网站每天的浏览量做个乘法运算,这个数字也相当了得。所以我觉得这个技术不应该只是程序员完美主义的表现,而是应该做为一个web程序开发的标准。51Testing软件测试网+[^,P.g-X*X

.M v(PEi051Testing软件测试网 ^Pqy"X+|8x H

51Testing软件测试网.cUu0_;}V9O

目前国外的一些网站都开始广泛使用此技术,Google,Yahoo,Facebook等,Goole用的最炉火纯青,不过它主要是用此技术用到了制作美观的效果上,而Yahoo和Facebook确实是为了改善服务器性能。

o3P2G_ T8oZ7\Y+q0

}&N*W D(la4J0\:G0我这里做了一个小小的示例以供观者能更详细的了解这个小精灵。先看下面这个图片:

&t6xpFq5E0

csssprites实例图51Testing软件测试网qAA B@'J%AW

8M;Z*XZau0这张图片中有两个小图标是连在一起的,下面只需要使用以下css调整位置就可以只调用其中那个一张图片,或者调用两张图片,并且随意调整图标位置,我只是简单的用DIV显示一下:51Testing软件测试网,t,YD D,v

"Qe{3M_7f0`2M051Testing软件测试网!J3e@aI%N1Jli

<div style=”background-position: -10px -48px; width: 28px; height: 19px”>&nbsp;</div>51Testing软件测试网"i-~ ^T%~ua

6L7dRF fjk V051Testing软件测试网 H%NO0l8}J+rX

,X!u3T k6|0d0这一句就是显示那个问号,只要你的页面用到问号的统统这样调用就可以了,

'{c!t:h\&b,wvE051Testing软件测试网MK/CK lJ6r

T | N8b/o}0

<div style=”background-position: -10px -10px; width: 28px; height: 19px”>&nbsp;</div>51Testing软件测试网+PsKU,S~/d

$`1n_7K+gg0

$XS1r g(W'N@zR,F051Testing软件测试网` ]} y6{f }9x

调用第一个图标,显示效果见:Demo51Testing软件测试网;_5p e6@ u9F

-r*d$c@!|+t0此文主要把CSS sprites当成一种性能优化的手段,若要了解更详细的CSS sprites细节,可以参考以下网站:

)u m|P;IU0E051Testing软件测试网i4bk _6X7z

中文资料http://realazy.org/blog/2007/10/08/css-sprites/

Y5S,F6W'n0h051Testing软件测试网Zj*Vs?Yw

英文资料http://www.sitepoint.com/blogs/2007/07/05/css-using-percentages-in-background-image/

,vR"op)|4b051Testing软件测试网:wT7?OwT/Ds"^ v-H

在线制作工具http://www.csssprites.com/(本站Demo在此网站生成)

6Z0RI!ia#xa2DP051Testing软件测试网i0n#YC%` y7z

其他资源:

B[Bh#T!V7y&TH0

LkfWk6c T0What Are CSS Sprites?

e.S%\tQ0q},a0

t zhG2Y2jk,N0http://www.peachpit.com/articles/printerfriendly.aspx?p=447210&rl=151Testing软件测试网*B0g7^ X&w"M AY

? P M2Bm[`0CSS Sprites: Image Slicing’s Kiss of Death51Testing软件测试网R9k}U@I

&x$] rL2Q V5^~7J:\cp0http://www.alistapart.com/articles/sprites/

)@9g$Zt1B [/Y0

LkVw ]-K$Eq,u0CSS Sprites Generator

UTlj0Z Xhf0
51Testing软件测试网*@$xS U.G;n'F

http://www.csssprites.com/

6_y@ e c&{"K0
51Testing软件测试网d#B6Zg u4W-qQ

Fast Rollovers Without Preload

%Vz+k@.dz el*^.V0
51Testing软件测试网8p]3^Pc

http://wellstyled.com/css-nopreload-rollovers.html

4yX1q(sL/O%d7f3bh0

/c%N/y'mb-AA:Jh!l\ Y [0Javascrīpt Sprite Animation Using jQuery

*W2y5MY.~[*{0

6x@~z Z:C!Ru0http://www.sitepoint.com/blogs/2007/07/20/javascrīpt-sprite-animation-using-jquery/

7x#mpP&E)tw051Testing软件测试网.K`k)P;[ QHSo

http://www.sitepoint.com/blogs/2007/07/05/css-using-percentages-in-background-image/51Testing软件测试网&Gd7UP W#DN&B

'c/X3w,hN0How to create CSS sprites51Testing软件测试网b1j-^I&kX_ fu;c

51Testing软件测试网_C.[6c#VZO4D ^9D

http://fatagnus.com/how-to-create-css-sprites/

U.l2R%V5X0

8^G/]$N5Z!p%Z0Creating Rollover Effects with CSS Sprites

4inP)X;s _/?,Q0

l){o"v\'l5N0http://www.devarticles.com/c/a/Web-Style-Sheets/Creating-Rollover-Effects-with-CSS-Sprites/51Testing软件测试网x-c2g{1`Eh

F+bnJn-|Q4d?b0Building a Dynamic Banner with CSS Sprites

z-s8[ O_c&O0

{'yi:O%v6}6`0http://www.devarticles.com/c/a/Web-Style-Sheets/Building-a-Dynamic-Banner-with-CSS-Sprites/

_5jdV]"x,~0
51Testing软件测试网KDDp}rz+Z

CSS Sprites and IE/Win Flicker Issue

!A4M!qm]q)y0

AJa-G:^0http://www.brajeshwar.com/2006/css-sprites-and-iewin-flicker-issue/51Testing软件测试网*J5[i^+FfU7p&k

DZc L+W/c0css用法测试工具:CSS tests and experiments51Testing软件测试网Lw2L} E:i1b)T

%RY}$c0\1nc I0http://www.brunildo.org/test/index.html

Z8f2q \+mY6y!m0

TAG: 性能测试

 

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 4586
  • 日志数: 6
  • 建立时间: 2008-11-07
  • 更新时间: 2008-12-22

RSS订阅

Open Toolbar