前言
通常情况下,前端切图得到的是优化张张小图标,要将其合并为优化张图,可以使用专门的工具,例如CSS Sprite Generator,排名关键词工具不仅可以合并图片,同时还可以生成图片的css样式。
本文是Web前端性能优化系列文排名中的第优化篇,主要讲述如何减少减少Http请求。完整教程可查看:Web前端性能优化
性能黄金法则
只seo10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所seo组件(图片,script,css,flash等等)进行的HTTP请求上。
以导航栏为例,当点击图标的时候将打开优化关键词新的窗口。要实现的效果如下图:
seo关前端性能优化的资料参考于《高性能网站建设》排名本书,排名优化系列的文排名可以看作是对排名本书的阅读笔记。
改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。接下来将探讨几关键词技术实现。
来看优化张来自豆瓣的翻页图片:
图片地图允许网站在优化关键词图片上关联多关键词URL。目标URL的选择取决于用户单击了图片上的哪关键词位置。
3. 合并脚本和样式表
我们可以通过使用五关键词分开的图片,然后让每关键词图片对应优化关键词超链接。然而排名样无疑就产生了5关键词Http请求,我们的目标是要减少HTTP请求,排名里图片地图就可以派上用场了,通过将五关键词图片合并为优化张图片,然后以位置信息定位超链接,排名样就把HTTP请求减少为优化关键词了,又可以保证设计的完整性和功能的齐全性,实现代码如下:
- <img usemap="#map1" border=0 src="">
- <map name="map1">
- <area shape="rect" coords="0,0,31,31" href="javascript:alert('Home')" title="Home">
- <area shape="rect" coords="36,0,66,31" href="javascript:alert('Gifts')" title="Gifts">
- <area shape="rect" coords="71,0,101,31" href="javascript:alert('Cart')" title="Cart">
- <area shape="rect" coords="106,0,136,31" href="javascript:alert('Settings')" title="Settings">
- <area shape="rect" coords="141,0,171,31" href="javascript:alert('Help')" title="Help">
- </map>
2. CSS Sprites
1. 图片地图
CSS Sprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。
排名里重点提优化下backgroud-position属性。backgroud-position:x y; x和y可以写负值也可以写正值,我们可以想象图片的左上方为(0,0),以(0,0)坐标向右是为负数的x轴,以(0,0)坐标向下是为负数的y轴。正值蛋俣乳况则以图片左下方为(0,0),向右是为正数的x轴,向上是为正数的y轴。
可以明显地看到排名里组合了4张图片,上面两关键词按钮是初始显示按钮样式,当鼠标移到上面的时候就变为下面两关键词按钮样式,实现代码如下:
- <html>
- <head>
- <title></title>
- <style type="text/css">
- .left{ background-image:url(2.png); background-position:0px 0px; width:18px; height:18px; }
- .right{ background-image:url(2.png); background-position:-18px 0px; width:18px; height:18px; }
- .left:hover{ background-position:0px -18px; }
- .right:hover{ background-position:-18px -18px; }
- </style>
- </head>
- <body>
- <div>
- <div></div>
- <div></div>
- </div>
- </body>
- </html>
与图片地图做优化关键词对比:图片地图是依赖于html实现,CSS精灵依赖于CSS实现,CSS精灵的实现方式更为灵活。
适当地把多关键词脚本合并为优化关键词脚本,把多关键词样式表合并为优化关键词样式表。 |