<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>刘钢 - 我是UED &#187; Sprites</title>
	<atom:link href="http://www.iamued.com/tag/sprites/feed" rel="self" type="application/rss+xml" />
	<link>http://www.iamued.com</link>
	<description>http://www.IamUED.com</description>
	<lastBuildDate>Wed, 28 Jul 2010 12:58:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>阿里妈妈UED谈CSS Sprites技术</title>
		<link>http://www.iamued.com/qianduan/39.html</link>
		<comments>http://www.iamued.com/qianduan/39.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 09:14:10 +0000</pubDate>
		<dc:creator>RichieLiu</dc:creator>
				<category><![CDATA[前端开发]]></category>
		<category><![CDATA[页面实现]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Sprites]]></category>
		<category><![CDATA[UED]]></category>
		<category><![CDATA[前端]]></category>

		<guid isPermaLink="false">http://www.iamued.com/?p=39</guid>
		<description><![CDATA[原文：http://ued.alimama.com/?p=233
CSS Sprites简介
通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术，目前它已经在网页开发中发展得较为成熟，阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但CSS Sprites并不是什么金科玉律，但在很多情况下，它有着一定的优势，最重要的是它可以减轻服务器的负载，提高网页加载速度。随着Web设计向着精致、巧妙的方向发展，设计师们开始考虑使用非Javascript的方 式制作鼠标滑过、悬停菜单的效果，这时CSS Sprite应运而生。
说白了，CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中，再利用CSS的“background-image”，“background- repeat”，“background-position”的组合进行背景定位，background-position可以用数字能精确的定位出背景图片的位置。
当页面加载时，不是加载每个单独图片，而是一次加载整个组合图片。这是一个了不起的改进，它大大减少了HTTP请求的次数，减轻服务器压力，同时缩短了悬停加载图片所需要的时间延迟，使效果更流畅，不会停顿。
CSS Sprites应用
在这方面，淘宝网做的比较好，我就以淘宝网为例吧。
实例一：淘宝频道页面导航
效果图：

点击放大
sprites图：
   
   

实例二：淘宝首页
效果图：

点击放大
sprites图：

CSS Sprites优点
CSS Sprites为什么突然跑火，跟能够提升网站性能有关。显而易见，这是它的巨大优点之一。

利用CSS Sprites能很好地减少了网页的http请求，从而大大的提高了页面的性能，这是CSS Sprites最大的优点，也是其被广泛传播和应用的主要原因；
个人认为CSS Sprites能减少图片的字节，我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。

CSS Sprites缺点
诚然CSS Sprites是如此的强大，但是也存在一些不可忽视的缺点。

在图片合并的时候，你要把多张图片有序的合理的合并成一张图片，还要留好只够的空间，防止板块内不会出现不必要的背景，否则可能会出现出现干扰图片的情况；这些还好，做痛苦的是在宽屏，高分辨率的屏幕下的自适应页面，你的图片如果不够宽，很容易出现背景断裂；
CSS Sprites在开发的时候比较麻烦，你要通过photoshop或其他工具测量计算每一个背景单元的精确位置，这是针线活，没什么难度，但是很繁琐；不过网上已经有高手开发出“CSS Sprites 样式生成工具”，大家可以尝试一下。
CSS Sprites在维护的时候比较麻烦，sprites是一般双刃剑，如果页面背景有少许改动，一般就要改这张合并的图片，无需改的地方最好不要动，这样避免改动更多的css，如果在原来的地方放不下，有只能（最好）往下加图片，这样图片的字节就增加了，因为每次的图片改动都得往这个图片删除或添加内容，显得稍微繁琐，而且重新算图片的位置（尤其是这种上千px的图）也是一件颇为不爽的事情。当然，在性能的口号下，这些都是可以克服的。
由于图片的位置需要固定为某个绝对数值，这就失去了诸如center之类的灵活性。

CSS Sprites总结
性能压倒一切。CSS Sprites非常值得学习和应用，特别是页面有一堆ico（图标）。总之很多时候大家要权衡一下利弊，在决定是不是应用CSS Sprites。为保持兼容性和维护性，sprites图片中的各个部分保持一定的距离是一种不错的做法。
您可能还关注的？“床”结构的写法 未知高度的垂直居中在网页中嵌入任意字体的解决方案 border:none;与border:0;的区别转：让我们一起讨论如何把简单的事做好由黄钻等级图标处理引发的思考]]></description>
			<content:encoded><![CDATA[<p><strong>原文：<a href="http://ued.alimama.com/?p=233" target="_blank">http://ued.alimama.com/?p=233</a></strong></p>
<p><strong>CSS Sprites简介</strong></p>
<p>通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术，目前它已经在网页开发中发展得较为成熟，阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但CSS Sprites并不是什么金科玉律，但在很多情况下，它有着一定的优势，最重要的是它可以减轻服务器的负载，提高网页加载速度。随着Web设计向着精致、巧妙的方向发展，设计师们开始考虑使用非Javascript的方 式制作鼠标滑过、悬停菜单的效果，这时CSS Sprite应运而生。</p>
<p>说白了，CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中，再利用CSS的“background-image”，“background- repeat”，“background-position”的组合进行背景定位，background-position可以用数字能精确的定位出背景图片的位置。</p>
<p>当页面加载时，不是加载每个单独图片，而是一次加载整个组合图片。这是一个了不起的改进，它大大减少了HTTP请求的次数，减轻服务器压力，同时缩短了悬停加载图片所需要的时间延迟，使效果更流畅，不会停顿。<span id="more-39"></span></p>
<p><strong>CSS Sprites应用</strong></p>
<p>在这方面，淘宝网做的比较好，我就以淘宝网为例吧。</p>
<p><strong>实例一：淘宝频道页面导航</strong></p>
<p>效果图：</p>
<p align="center"><a href="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172139zrR.png" target="_blank"><img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172139zrR.png" border="0" alt="" width="510" height="22" /><br />
点击放大</a></p>
<p>sprites图：</p>
<p><img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/1721401b3.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140tZd.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140jBC.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/1721400h0.png" border="0" alt="" width="100" height="120" /><br />
<img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140GML.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140uRG.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140a5S.png" border="0" alt="" width="100" height="120" /> <img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140fjS.png" border="0" alt="" width="100" height="120" /><br />
<img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140dP4.png" border="0" alt="" width="100" height="120" /></p>
<p><strong>实例二：淘宝首页</strong></p>
<p>效果图：</p>
<p align="center"><a href="http://www.blueidea.com/articleimg/2009/10/7073/11.jpg" target="_blank"><img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172140FDJ.jpg" border="0" alt="" width="510" height="293" /><br />
点击放大</a></p>
<p>sprites图：</p>
<p align="center"><img src="http://www.iamued.com/wp-content/uploads/auto_save_image/2009/10/172141CmK.png" border="0" alt="" width="498" height="250" /></p>
<p><strong>CSS Sprites优点</strong></p>
<p>CSS Sprites为什么突然跑火，跟能够提升网站性能有关。显而易见，这是它的巨大优点之一。</p>
<ol>
<li>利用CSS Sprites能很好地减少了网页的http请求，从而大大的提高了页面的性能，这是CSS Sprites最大的优点，也是其被广泛传播和应用的主要原因；</li>
<li>个人认为CSS Sprites能减少图片的字节，我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。</li>
</ol>
<p><strong>CSS Sprites缺点</strong></p>
<p>诚然CSS Sprites是如此的强大，但是也存在一些不可忽视的缺点。</p>
<ol>
<li>在图片合并的时候，你要把多张图片有序的合理的合并成一张图片，还要留好只够的空间，防止板块内不会出现不必要的背景，否则可能会出现出现干扰图片的情况；这些还好，做痛苦的是在宽屏，高分辨率的屏幕下的自适应页面，你的图片如果不够宽，很容易出现背景断裂；</li>
<li>CSS Sprites在开发的时候比较麻烦，你要通过photoshop或其他工具测量计算每一个背景单元的精确位置，这是针线活，没什么难度，但是很繁琐；不过网上已经有高手开发出“CSS Sprites 样式生成工具”，大家可以尝试一下。</li>
<li>CSS Sprites在维护的时候比较麻烦，sprites是一般双刃剑，如果页面背景有少许改动，一般就要改这张合并的图片，无需改的地方最好不要动，这样避免改动更多的css，如果在原来的地方放不下，有只能（最好）往下加图片，这样图片的字节就增加了，因为每次的图片改动都得往这个图片删除或添加内容，显得稍微繁琐，而且重新算图片的位置（尤其是这种上千px的图）也是一件颇为不爽的事情。当然，在性能的口号下，这些都是可以克服的。</li>
<li>由于图片的位置需要固定为某个绝对数值，这就失去了诸如center之类的灵活性。</li>
</ol>
<p><strong>CSS Sprites总结</strong></p>
<p>性能压倒一切。CSS Sprites非常值得学习和应用，特别是页面有一堆ico（图标）。总之很多时候大家要权衡一下利弊，在决定是不是应用CSS Sprites。为保持兼容性和维护性，sprites图片中的各个部分保持一定的距离是一种不错的做法。</p>
<h2  class="related_post_title">您可能还关注的？</h2><ul class="related_post"><li><a href="http://www.iamued.com/qianduan/891.html" title="“床”结构的写法 未知高度的垂直居中">“床”结构的写法 未知高度的垂直居中</a></li><li><a href="http://www.iamued.com/qianduan/731.html" title="在网页中嵌入任意字体的解决方案 ">在网页中嵌入任意字体的解决方案 </a></li><li><a href="http://www.iamued.com/qianduan/619.html" title="border:none;与border:0;的区别">border:none;与border:0;的区别</a></li><li><a href="http://www.iamued.com/qianduan/608.html" title="转：让我们一起讨论如何把简单的事做好">转：让我们一起讨论如何把简单的事做好</a></li><li><a href="http://www.iamued.com/qianduan/554.html" title="由黄钻等级图标处理引发的思考">由黄钻等级图标处理引发的思考</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.iamued.com/qianduan/39.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
