CSS高级技巧:CSS Sprites

过去的习惯,决定今天的你,所以,过去的懒惰,决定你今天的一败涂地。人来到这世界后,命运注定了他必须要拼搏,奋斗,坚持,勇敢地走下去,走出属于自己的道路,没有人能不劳而获。

上一篇CSS好代码教程文章:CSS高级技巧:圆角矩形
CSS Sprites, 利用CSS background-position 进行背景绝对定位, 减少HTTP请求, 加速网页显示, 解决图片载入闪动问题的技巧.
CSS Sprites最适合用来做的, 恩, 比如: 清单导航的CSS鼠标翻转效果 大量小图标集中的应用 (FckEditor) ...很多很多,多的想不出来了.
实现原理简单地说就是控制容器的大小, 然后利用background-repeat, background-position来对背景图片进行定位. 更可以理解为将网站大量背景图整合到一张大图中的这种行为( 表象上 )
用一个鼠标翻转事件来说明吧:
准备:

01.jpg02.jpg
HTML代码:

<ul>
<li><a id="item1" rel="nofollow noopener noreferrer" href="#" title="Item 1">&nbsp;</a></li>
<li><a id="item2" rel="nofollow noopener noreferrer" href="#" title="Item 2">&nbsp;</a></li>
<li><a id="item3" rel="nofollow noopener noreferrer" href="#" title="Item 3">&nbsp;</a></li>
<li><a id="item4" rel="nofollow noopener noreferrer" href="#" title="Item 4">&nbsp;</a></li>
<li><a id="item5" rel="nofollow noopener noreferrer" href="#" title="Item 5">&nbsp;</a></li>
<li><a id="item6" rel="nofollow noopener noreferrer" href="#" title="Item 6">&nbsp;</a></li>
<li><a id="item7" rel="nofollow noopener noreferrer" href="#" title="Item 7">&nbsp;</a></li>
<li><a id="item8" rel="nofollow noopener noreferrer" href="#" title="Item 8">&nbsp;</a></li>
<li><a id="item9" rel="nofollow noopener noreferrer" href="#" title="Item 9">&nbsp;</a></li>
</ul>

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;}

效果图如下:


有人要问了, 这有什么用么? 这可以模拟图片热区说明, 地图提示 等等...
Tips:
CSS Sprites需要精确的背景图片定位, 比较让人头疼.
相对于减少了多次HTTP请求的优点, 却增加了一次性一个大的HTTP请求的缺点... 自己权衡吧
下一篇CSS好代码教程文章:CSS高级技巧:图片替换

以上就是CSS高级技巧:CSS Sprites。当我们失去变得与众不同的权利,我们就失去了自由的权利。更多关于CSS高级技巧:CSS Sprites请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例

CSS浮动引起的高度塌陷问题