是css-sprite好技术吗?我在http://spriteme.org/阅读了它的专业知识,并且我在stackoverflow中也看到了很多关于css sprites的问题。
它的缺点是什么?
它是否可以在其网站中声明的所有浏览器中使用?
答案 0 :(得分:19)
是的,这是一项很好的技巧。
您可以减少HTTP请求的数量,这是一种页面优化技术。
中的第一条规则
Best Practices for Speeding Websites by Yahoo
是
最小化HTTP请求
最终用户响应时间的80%是 花在了前端。其中大部分 下载所有的时间都被束缚了 页面中的组件:图像, 样式表,脚本,Flash等 减少中的组件数量 转减了HTTP的数量 呈现页面所需的请求。 这是加快页面的关键。
CSS Sprites 是首选方法 用于减少图像数量 要求。结合你的背景 图像成单个图像并使用 CSS背景图像和 background-position属性 显示所需的图像片段。
减少数量的一种方法 页面中的组件是为了简化 页面的设计。但有办法吗? 构建内容更丰富的页面 同时也实现快速反应 次?以下是一些技巧 减少HTTP请求的数量, 同时仍然支持丰富的页面 设计。
当您需要更改精灵内部图像的尺寸时,您必须重新计算图像的偏移量。但我不认为这是一个巨大的负担。
几乎所有现代浏览器都支持它。
这也是关于CSS sprites的好文章
<强> CSS Sprites: What They Are, Why They’re Cool, and How To Use Them 强>
答案 1 :(得分:4)
适用于IE 6 Safari Opera 8+和FF2 +。 你应该读这个:
它解释了如何压缩GIF(和其他图像文件)。 例如,在“行”而不是“列”中显示相同的数据会显着减少空间使用。
此外,您预先加载所有图像,如果您交换图像,则没有延迟。
另一个好处是你可以使用一个精灵用于“红色”设计,另一个精灵用于“蓝色”设计。
但是有一个缺点:
大多数浏览器都会缓存图像精灵。 因此,在更新精灵时可能会遇到麻烦。
答案 2 :(得分:2)
这是一项很棒的技巧,但你必须要非常谨慎,因为它在每个浏览器中都能正常工作。
它可以完成并且是一个很好的优化提示,但是一如既往地注意它在IE,Firefox和Chrome中的工作方式。
缺点是它不能一直使用,你必须坚持使用跨浏览器CSS支持的最小公分母。
答案 3 :(得分:2)
如果做得好,它应该适用于所有浏览器(甚至是IE6)。
我能想到的最大的问题是,如果你在一个精灵中有太多的图像,并且需要改变其中一个精灵的尺寸,它可能会导致你必须改变很多CSS(因为偏移对于其他图像也可能会改变)
答案 4 :(得分:2)
我遇到的一个缺点是CSS sprites似乎在许多浏览器中都没有正确打印
答案 5 :(得分:0)
当然,因为它节省了很多http请求,这对您的网站加载时间非常重要。
查看此页面:
http://www.tutorialrepublic.com/css-tutorial/css-sprites.php
它有一个很好的解释和你需要知道的关于CSS Sprite的一切。