• 技术文章 >web前端 >css教程

    css精灵技术有什么用?

    青灯夜游青灯夜游2020-11-17 18:20:16原创846

    css精灵技术是将很多的小图片合并到一张较大的图片里,所以在首次加载页面的时候,就不用加载过多的小图片,只需要加载出来将小图片合并起来的那一张大图片即可,这样可在一定程度上提高了页面的加载速度,缓解服务器的压力,节约服务器的流量。

    推荐教程:CSS视频教程

    css精灵图技术(sprite)是什么?

    css精灵图技术(sprite)直译为“CSS精灵”,也被称为通常被解释为“CSS图像拼合”、“CSS贴图定位”或“CSS图片精灵”、“CSS雪碧图”,是一种网页图片应用处理方式。

    其实就是把一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

    精灵图技术产生的原因:

    很多大型网页在首次加载的时候都需要加载很多的小图片,而考虑到在同一时间,服务器拥堵的情况下,为了解决这一问题,采用了精灵图这一技术来缓解加载时间过长从而影响用户体验的这个问题。

    css精灵图技术的作用

    所谓精灵图就是把很多的小图片合并到一张较大的图片里,所以在首次加载页面的时候,就不用加载过多的小图片,只需要加载出来将小图片合并起来的那一张大图片也就是精灵图即可,这样在一定程度上减少了页面的加载速度,也一定程度上缓解了服务器的压力。

    1、减少加载网页图片时对服务器的请求次数

    可以合并多数背景图片和小图标,方便在任何位置使用,这样不同位置的请求只需要调用一个图片,从而减少对服务器的请求次数,降低服务器压力,同时提高了页面的加载速度,节约服务器的流量。

    2、提高页面的加载速度

    sprite 技术的其中一个好处是图片的加载时间(在有许多 sprite 时,单张图片的加载时间)。由所需图片拼成的一张 GIF 图片的尺寸会明显小于所有图片拼合前的大小。

    单张的 GIF 只有相关的一个色表,而单独分割的每一张 GIF 都有自己的一个色表,这就增加了总体的大小。因此,单独的一张 JPEG 或者 PNG sprite 在大小上非常可能比把一张图分成多张得来的图片总尺寸小。

    3、减少鼠标滑过的一些bug

    IE6不会主动预加载鼠标滑过即a:hover中的背景图片,所以,如果使用多张图片,鼠标滑过会出现闪白的现象。使用CSS雪碧,由于一张图片即可,所以不会出现这种现象。

    css精灵技术的使用方法

    css精灵图(sprite)其实就是通过将多个图片融合到一张图片文件中,使用CSS background和background-position属性渲染,这也就意味着你的标签变得更加复杂了,图片是在CSS中定义,而非<img>标签。

    在需要用到图片的时候,现阶段是通过CSS属性background-image组合background-repeat, background-position等来实现图片的显示。

    示例:

    1.png

    例如这是一张大的精灵图,我们现在用它来拼出我们想要的字母,例如ANDY

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            div{
                display: inline-block;
                background: url(images/abcd.jpg) no-repeat;
            }
            .aa{
                width: 108px;
                height: 110px;
                background-position: 0 -9px;
            }
            .nn{
                width: 112px;
                height: 110px;
                background-position: -255px -276px;
            }
            .dd{
                width: 97px;
                height: 107px;
                background-position: -363px -8px;
            }
            .yy{
                width: 110px;
                height: 110px;
                background-position: -367px -556px;
            }
        </style>
    </head>
    <body>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </body>
    </html>

    最终效果:

    2.png

    其实说白了就是将精灵图设为一个大背景,然后通过background-position来移动背景图,从而显示出我们想要显示出来的部分。

    精灵图虽然实现了缓解服务器压力以及用户体验等问题,但还是有一个很大的不足,那就是牵一发而动全身。这些图片的背景都是我们详细测量而得出来的,如果需要改动页面,将会是很麻烦的一项工作。。。

    更多编程相关知识,请访问:编程入门!!

    以上就是css精灵技术有什么用?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:css 精灵技术
    上一篇:纯css实现选框选中效果 下一篇:CSS属性前缀的作用是什么?
    线上培训班

    相关文章推荐

    • css 如何使用精灵图?background属性介绍(代码实例)• css line-height值为150%或1.5值的区别• css实现图片在div中居中的方法有哪些• 在dw中css属性有哪几类• css可以去掉浮动吗?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网