css精灵图怎么使用?

什么是css精灵图(sprite)?css精灵图怎么使用?下面本篇文章就来给大家介绍一下css精灵图的使用。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在了解精灵图怎么使用前,我们要先知道什么是精灵图。只有先知道什么是精灵图,了解精灵图的原理了,我们才可是说使用精灵图。

什么是css精灵图(sprite)?

css精灵图(sprite)直译为“CSS精灵”,也被称为通常被解释为“CSS图像拼合”、“CSS贴图定位”或“CSS图片精灵”、“CSS雪碧图”,是一种网页图片应用处理方式。其实就是把一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

怎么使用css精灵图(sprite)?

css精灵图(sprite)其实就是通过将多个图片融合到一张图片文件中,然后通过CSS background背景定位技术技巧布局网页背景。在需要用到图片的时候,现阶段是通过CSS属性background-image组合background-repeat, background-position等来实现图片的显示。

使用精灵图的优点

  • 对于浏览器来说请求多张小的图片和请求一张大的图片当然是后者的性能更好,大大减少了浏览器向服务器的请求次数,减少了http请求次数,这也是精灵图被广泛使用的主要原因。

  • 使用精灵图可以减少图片的字节数,如果一张图片是4K,9张就是36K,而将所有图片整合在一张图片上之后,只需要4-5K就可以了。

  • 在整理图片时,不需要纠结图片的取名问题,特别是在大型浏览器中,这种小的图片非常之多。将所有图片整合在一起,只需要取一个综合的名字就可以了,这样也可以大大提高工作效率。

  • 如果想改变网站的风格,只需要改变一张图就可以了,便于后期的维护和修改。

使用精灵图的缺点

  • 一定要考虑当前盒子的大小会不会漏出其他图片,一般情况来说还可以,但是如果网页时自适应的,那么可能就会比较麻烦了。

  • 精灵图的创建比较麻烦,要计算好每个图片之间的距离和位置,如果做的不合理,那么使用时就会比较麻烦。

  • 精灵图在后期维护上也带来了一定麻烦,因为所有的图片是在一张图片上,甚至位置都是相互影响的,所以一旦改变了一个,可能整张精灵图都需要重新做。

实例

精灵图表:

代码示例:

html代码:

<ul class="menu">
        <li class="firefox"><a href="#">Firefox</a></li>
        <li class="chrome"><a href="#">Chrome</a></li>
        <li class="ie"><a href="#">Explorer</a></li>
        <li class="opera"><a href="#">Opera</a></li>
        <li class="safari"><a href="#">Safari</a></li>
</ul>

css代码:

ul.menu {
        list-style-type: none;
        width: 400px;
}
ul.menu li {
        padding:20px 5px;
        font-size: 16px;
        float: left;
        font-family: "Trebuchet MS", Arial, sans-serif;
}
ul.menu li a {
        height: 50px;
        line-height: 50px;
        display: inline-block;
        padding-left: 60px; /* To sift text off the background-image */
        color: #3E789F;
        background:url(Sprites.webp) no-repeat; /* As all link share the same background-image */
}
ul.menu li.firefox a {
        background-position: 0 0;
}
ul.menu li.chrome a {
        background-position: 0 -100px;
}
ul.menu li.ie a {
        background-position: 0 -200px;
}
ul.menu li.safari a {
        background-position: 0 -300px;
}
ul.menu li.opera a {
        background-position: 0 -400px;
}
ul.menu li.firefox a:hover {
        background-position: 0 -50px;
}
ul.menu li.chrome a:hover {
        background-position: 0 -150px;
}
ul.menu li.ie a:hover {
        background-position: 0 -250px;
}
ul.menu li.safari a:hover {
        background-position: 0 -350px;
}
ul.menu li.opera a:hover {
        background-position: 0 -450px;
}

效果图:

以上就是css精灵图怎么使用?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读