<?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>前端思考：专注前端开发，关注用户体验 &#187; Sprites</title>
	<atom:link href="http://www.artcss.com/archives/tag/sprites/feed" rel="self" type="application/rss+xml" />
	<link>http://www.artcss.com</link>
	<description>一个像素的距离...</description>
	<lastBuildDate>Sat, 12 Feb 2011 03:34:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>阿里妈妈UED谈CSS Sprites</title>
		<link>http://www.artcss.com/archives/419.html</link>
		<comments>http://www.artcss.com/archives/419.html#comments</comments>
		<pubDate>Tue, 27 Oct 2009 01:45:49 +0000</pubDate>
		<dc:creator>Artcss</dc:creator>
				<category><![CDATA[Xhtml+css]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Sprites]]></category>
		<category><![CDATA[知名UED]]></category>

		<guid isPermaLink="false">http://www.artskin.cn/blog/?p=419</guid>
		<description><![CDATA[.postarea ul.sprite li{float:left;list-style:none} .postarea ul.sprite li img{width: 100px; height: 120px;} 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为什么突然跑火，跟能够提升网站性能有关。显而易见，这是它的巨大优点之一。 1.利用CSS Sprites能很好地减少了网页的http请求，从而大大的提高了页面的性能，这是CSS Sprites最大的优点，也是其被广泛传播和应用的主要原因； 2.个人认为CSS Sprites能减少图片的字节，我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。 CSS Sprites缺点： 诚然CSS Sprites是如此的强大，但是也存在一些不可忽视的缺点。 1.在图片合并的时候，你要把多张图片有序的合理的合并成一张图片，还要留好只够的空间，防止板块内不会出现不必要的背景，否则可能会出现出现干扰图片的情况；这些还好，做痛苦的是在宽屏，高分辨率的屏幕下的自适应页面，你的图片如果不够宽，很容易出现背景断裂； 2.CSS Sprites在开发的时候比较麻烦，你要通过photoshop或其他工具测量计算每一个背景单元的精确位置，这是针线活，没什么难度，但是很繁琐；不过网上已经有高手开发出“CSS Sprites 样式生成工具”，大家可以尝试一下。 3.CSS [...]]]></description>
			<content:encoded><![CDATA[<style>
.postarea ul.sprite li{float:left;list-style:none}
.postarea ul.sprite li img{width: 100px; height: 120px;}
</style>
<h4>CSS Sprites 简介：</h4>
<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请求的次数，减轻服务器压力，同时缩短了悬停加载图片所需要的时间延迟，使效果更流畅，不会停顿。
</p>
<h4>CSS Sprites应用：</h4>
<p>在这方面，淘宝网做的比较好，我就以淘宝网为例吧。</p>
<h5>[实例一:淘宝频道页面导航]</h5>
<p>效果图：</p>
<p><a href="http://img.alimama.cn/cms/images/1254278481253.png" target="_blank"><img src="http://img.alimama.cn/cms/images/1254278481253.png" alt="" width="610" /></a></p>
<p>sprites图：</p>
<ul class="sprite">
<li><img src="http://assets.taobaocdn.com/tbsp/themes/1/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/2/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/3/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/4/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/5/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/6/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/7/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/8/sprite.png" alt="" /></li>
<li><img src="http://assets.taobaocdn.com/tbsp/themes/9/sprite.png" alt="" /></li>
</ul>
<h5>[实例二：淘宝首页]</h5>
<p>效果图：</p>
<p><a href="http://img.alimama.cn/cms/images/1254283399874.png" target="_blank"><img src="http://img.alimama.cn/cms/images/1254283399874.png" alt="" width="600" /></a></p>
<p>sprites图：</p>
<p><img style="width: 498px; height: 250px;" src="http://img01.taobaocdn.com/tps/i1/T1FLpeXkVqXXXXXXXX-498-250.png" alt="" width="500" /></p>
<h4>CSS Sprites优点：</h4>
<p>CSS Sprites为什么突然跑火，跟能够提升网站性能有关。显而易见，这是它的巨大优点之一。</p>
<p>1.利用CSS Sprites能很好地减少了网页的http请求，从而大大的提高了页面的性能，这是CSS Sprites最大的优点，也是其被广泛传播和应用的主要原因；</p>
<p>2.个人认为CSS Sprites能减少图片的字节，我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。</p>
<h4>CSS Sprites缺点：</h4>
<p>诚然CSS Sprites是如此的强大，但是也存在一些不可忽视的缺点。</p>
<p>1.在图片合并的时候，你要把多张图片有序的合理的合并成一张图片，还要留好只够的空间，防止板块内不会出现不必要的背景，否则可能会出现出现干扰图片的情况；这些还好，做痛苦的是在宽屏，高分辨率的屏幕下的自适应页面，你的图片如果不够宽，很容易出现背景断裂；</p>
<p>2.CSS Sprites在开发的时候比较麻烦，你要通过photoshop或其他工具测量计算每一个背景单元的精确位置，这是针线活，没什么难度，但是很繁琐；不过网上已经有高手开发出“CSS Sprites 样式生成工具”，大家可以尝试一下。</p>
<p>3.CSS Sprites在维护的时候比较麻烦，sprites是一般双刃剑，如果页面背景有少许改动，一般就要改这张合并的图片，无需改的地方最好不要动，这样避 免改动更多的css，如果在原来的地方放不下，有只能（最好）往下加图片，这样图片的字节就增加了，因为每次的图片改动都得往这个图片删除或添加内容，显 得稍微繁琐，而且重新算图片的位置（尤其是这种上千px的图）也是一件颇为不爽的事情。当然，在性能的口号下，这些都是可以克服的。</p>
<p>4.由于图片的位置需要固定为某个绝对数值，这就失去了诸如center之类的灵活性。</p>
<h4>CSS Sprites总结：</h4>
<p>性能压倒一切。CSS Sprites非常值得学习和应用，特别是页面有一堆ico（图标）。总之很多时候大家要权衡一下利弊，在决定是不是应用CSS Sprites。为保持兼容性和维护性，sprites图片中的各个部分保持一定的距离是一种不错的做法。</p>
<p>原文链接：<a href="http://ued.alimama.com/?p=233">http://ued.alimama.com/?p=233</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artcss.com/archives/419.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

