如何使用CSS Sprites优化你的网站

2016-02-19 17:25 1 1 收藏

有了下面这个如何使用CSS Sprites优化你的网站教程,不懂如何使用CSS Sprites优化你的网站的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - Web开发 】

  使用CSS Sprites是在你尽可能地使用其他的优化策略后最后的一招。它将你的所有图片放在一张图中,即你的一张CSS Sprites由10张图片组成,那将避免9次HTTP请求,这减少的9次请求时延,正是加速的加载时间。这也有问题,跟每个HTTP请求的服务器开销一样,需由Apache的子进程管理,占用20MB的内存。你最好帮你的服务器进程减少HTTP请求:卸载媒体到Web前端Amazon S3,诸如此类。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  下面是两个CSS Sprites,一个是Google的,一个是PaulStamatiou的。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  照猫画虎,把你网站上经常使用的web图片元素打包——比如你的Logo,RSS图标,还有其他不会经常变更的东西。用Photoshop或者你的图片编辑工具,把它们放在单个的图片里。你可以尽贴着放置图片,但要是你稍微留点白再下一步选中会更简单些,然后保存图片。

  编写CSS代码

  有了CSS Sprites,你将要用CSS选择器对每个只显示精灵中部分图片的链接进行处理:只要你需要的那部分。你需要知道待显示图片的精确大小以及位置。这步用到Photoshop中的切片工具并选出你要用的那部分的图。对新切片右键单击,选择编辑切片。在弹出的窗口会有图片的分辨率和位置。

  在这个示例中,我选用大小为42×42px的图,它有336px的偏移(译注:是指左偏移)并紧贴着顶部。这样便形成了相应的CSS:

a.stammy, a.stammy:hover{
     background:#fff url(path/to/sprites.png) -336px 0 no-repeat;
     display:block;
     height:42px;
     width:42px;
     text-indent:-9999px;
     overflow:hidden;
}

  CSS选择器对所有含 class="stammy" 属性的链接都有效。背景属性载入精灵图片,然后设置背景图位置为负值(其必为负)。如果图片离顶部有10个像素,那背景位置应该是“-336px -10px”。之后在CSS中设置了宽和高。我对悬停伪类(hover pseudoclass)也进行了设置,因为有一次当我悬停在该类的链接上时,会改变链接的悬停状态的颜色,从而背景图会消失。

  设置溢出隐藏“解决当你选择要替换的文本的时候,那高亮部分会一直延伸到屏幕左侧的烦人问题”,正如Rob所说。对其他所有图片如法炮制,并对每个选择器命名。

  编写XHTML代码

  目今你已经对每个图片有一些CSS选择器。至此你已经搞定了大问题,还差最后一步。现在只需对每个选择器创建链接。

  a class="stammy" href="http://whatever.com" title="Paul Stamatiou"Paul Stamatiou/a

  相当简单吧?用CSS和链接设置类,将精灵的信息组合起来,只显示精灵的一部分。虽此,因为我们甚至没使用一个img标签,我们不能设置alt属性,而这对移动用户、搜索引擎、屏幕阅读器之类的来说至关重要。将文字写在链接中,再用CSS文本缩进将其移出屏幕范围,这样你就无需吧文字叠在图片上而同样具有可用性。

来源:https://www.tulaoshi.com/n/20160219/1615159.html

延伸阅读
标签: Web开发
您所在的位置:首页 网页设计 HTML/CSS/DIV Div+CSS设计网站的优点 Div+CSS设计网站的优点 2008-03-18 作者:
标签: Web开发
什么是CSS Sprites? Sprite(精灵)这个词在计算机图形学中有它独特的定义,由于游戏、视频等画质越来越高,必须有一种技术可以智能的处理材质和贴图,并且要 同时保持画面流畅。Sprite就是这样一种技术,它将许多图片组合到一个网格上,然后通过程序将每个网格的内容定位到画面上。 Sprite被定位到一副静态图片上,并且通过简单的程序或...
通常被意译为CSS图像拼合或CSS贴图定位。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但CSS Sprites并不是什么金科玉律,但在很多情况下,它有着一定的优势,最重要的是它可以减轻服务器的负载,提高网页加载速度。随着Web设计向着精致、巧妙的方向发展,设...
一、使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用css缩写语法总结》,这里就不展开描述。 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em。只有两个...
标签: Web开发
效率和开始的节奏以及功能的丰富彼此相互制约。最近忙着做功能,明知道有些地方可以优化的也得先放放,但是老大一关注,你的马上去做。 在老大的眼中,一次优化好后就可以不再优化,或者只需要很少的时间来维护,却不知道,优化是一个持续的过程,想法赶不上变化。 做人难,做事情更难! 优化如何开始,怎么开始,以及做些...

经验教程

555

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部