您的位置:首页 > Web前端 > CSS

CSS高级技巧:CSS Sprites,及我的应用

2011-03-18 11:46 429 查看
CSS Sprites, 利用CSS background-position 进行背景绝对定位, 减少HTTP请求, 加速网页显示, 解决图片载入闪动问题的技巧.

网页教学网

CSS Sprites最适合用来做的, 恩, 比如:

清单导航的CSS鼠标翻转效果
大量小图标集中的应用 (FckEditor)
...很多很多,多的想不出来了.
实现原理简单地说就是控制容器的大小, 然后利用background-repeat, background-position来对背景图片进行定位. 更可以理解为将网站大量背景图整合到一张大图中的这种行为( 表象上 ) Webjx.Com

用一个鼠标翻转事件来说明吧:

准备:



01.jpg



02.jpg

HTML代码: 网页教学网

<ul>
<li><a id="item1" href="#" title="Item 1"> </a></li>
<li><a id="item2" href="#" title="Item 2"> </a></li>
<li><a id="item3" href="#" title="Item 3"> </a></li>
<li><a id="item4" href="#" title="Item 4"> </a></li>
<li><a id="item5" href="#" title="Item 5"> </a></li>
<li><a id="item6" href="#" title="Item 6"> </a></li>
<li><a id="item7" href="#" title="Item 7"> </a></li>

<li><a id="item8" href="#" title="Item 8"> </a></li>
<li><a id="item9" href="#" title="Item 9"> </a></li>
</ul>
Webjx.Com

CSS代码:

网页教学网

ul { width:300px; height:300px; margin:0px auto; padding:0px; overflow:hidden; background:transparent url(02.jpg)}
li {list-style-type:none; width:100px; height:100px; float:left}
li a { display:block; width:100px; height:100px; text-decoration:none;
background:transparent url(01.jpg) no-repeat 500px 500px; }
a#item1:hover {background-position: 0 0; }
a#item2:hover {background-position: -100px 0;}
a#item3:hover {background-position: -200px 0;}
a#item4:hover {background-position: 0 -100px;}
a#item5:hover {background-position: -100px -100px;}
a#item6:hover {background-position: -200px -100px;}
a#item7:hover {background-position: 0 -200px;}
a#item8:hover {background-position: -100px -200px;}
a#item9:hover {background-position: -200px -200px;} 网页教学网

效果图如下:



本文来自:网页教学网(www.webjx.com)原文链接:http://www.webjx.com/CSS/20080503/css_5376.html

我的应用



上图大小为:368*16

目的:显示上图中的任意小图标(16*16)

CSS代码

.icon_div{display:block;width:16px; height:16px; background:transparent url(ListMenuIcon.png) no-repeat 368px 16px;}


HTML 代码

<div  class="icon_div" style=" background-position :-80px 0;"  title='发短信' ></div>
<div  class="icon_div" style=" background-position :-352px 0;"  title='发邮件' ></div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: