css sprites(精灵图)如何使用?

更新日期: 2020-03-03阅读: 3k标签: 背景

css Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能;也被称为css 精灵图。

网页通常包含多个图像。这些包括图标,按钮,徽标,相关图片和其他图形。当页面中加载图像时,浏览器向服务器发出HTTP请求。分别加载每个图像需要多次调用HTTP服务器,这可能导致下载时间变慢以及带宽使用率过高。

CSS Sprites会将多个图像组合成一个称为精灵表或拼贴图的单个图像,用户不下载多个文件,而是下载单个文件并通过偏移文件显示必要的图像(或精灵图)。

这样可以减少对服务器的调用、减少呈现网页所需的下载次数,节省带宽并缩短用户端的下载时间,减少网络拥塞。


如何使用CSS Sprites(精灵图)?

因为CSS Sprites是一张多个图像组合成单个图像,在精灵表中多个图像会被放置在网格状图案里,呈现网状分布。

当需要特定图像(精灵图)时,可以通过CSS background背景定位技术技巧布局网页背景。在需要用到图片的时候,现阶段是通过CSS属性background-image组合background-repeat, background-position等来实现图片的显示。

了解了background-position属性的用法,使用精灵图之前,我们需要知道精灵图中各个图标的位置。


从上面的图片不难看出Sprites(精灵图)中各个小图标(icon)在整张Sprites(精灵图)的起始位置,例如第一个图标(裙子)在精灵图的起始位置为 x:0,y:0,第二个图标(鞋子)在精灵图的起始位置为 x:0,y:50px,第三个图标(足球)在精灵图的起始位置为x:0,y:100px,依次类推可以得出各个图片相对于精灵图的起始位置。

以上面的Sprites(精灵图)为例(实际精灵图中各个小图片的起始位置和上面的展示图不同)用一个Demo来阐述它的使用方法。

html

<div>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>

CSS

<style>
       .box {
         width: 600px;
         height:300px;
         border: 3px solid #ccc;
         background-color: #8064A2;
        }
        span {
         display: inline-block;
         width: 25px;
         height: 25px;
         border: 3px solid #ccc;
         background-image: url(css/img/sidebar.png);
         background-repeat: no-repeat;
         margin: 5px;
        }
       .icon1 {
         background-position: 0 0;
        }
       .icon2 {
         background-position: -40px 0;
        }
       .icon3 {
         background-position: 0 -25px;
        }
       .icon4 {
         background-position: -40px -25px;
        }
</style>

效果图:


链接: https://fly63.com/article/detial/8849

10 个独特的 CSS 背景视觉效果

这几年的web设计中,大背景的设计变得越来越流行。特别是在现在大屏大行其道的情况下,设计师在设计中越来越多的使用大分辨率的背景图来填充屏幕,这样更能制造独特的视觉效果,能更好的传达他们想要向用户传达的内容。

css条纹背景样式、及方格斜纹背景的实现

通过CSS中的linear-gradient主要就能显示出不同方向的条纹效果,这里我们就来详解CSS制作Web页面条纹背景样式的技巧,需要的朋友可以参考下

微信小程序背景图为什么显示不出来?解决背景图片显示问题

在调试工具上都是可以显示的,但是扫面上传到手机上却显示不出来,这是为什么呢?这是由于:background-image 只能用网络url或者base64图片编码 , 本地图片只能用 image标签src属性才行。

css sprite

提高首评加载速度,除了要将所有使用的图片,资源文件压缩,添加懒加载,还需要合并页面中使用到的所有图标到一张大图里,减少请求次数,所有图标放到一张大图上,使用background定位

CSS3背景 background-size

设置背景图片的大小,以长度值或百分比显示,还可以通过cover和contain来对图片进行伸缩。auto:默认值,不改变背景图片的原始高度和宽度;contain:容纳,即将背景图片等比缩放至某一边紧贴容器边缘为止。

CSS box-sizing与background-clip解决背景显示范围的问题

过去在学习CSS的时候,首要任务就是要理解“box model”,因为box model是CSS里头很重要的模型概念,描述了padding、margin、border与content的空间定位

css背景图充满整个屏幕

我想让整个界面有一个背景图片,自然想到的是在body上加background,加载背景图 ;背景图垂直、水平均居中;当内容高度大于图片高度时,背景图像的位置相对于viewport固定 ;

详解如何给背景图片加颜色遮罩

前段时间在开发中,遇到需要给背景层加颜色遮罩的项目,现在特定总结一下给背景图层加颜色遮罩的方法。方法一:通过定位叠加(注意层级)

canvas 生成页面水印,MutationObserver 控制节点防修改

网上浏览的时候。看到有些页面会有背景的水印效果,使用canvas实现了个类似的效果,可以作为背景,也可以作为页面前景覆盖,防止网页信息的截图

background 设置文本框背景图

background 属性的作用是给元素设置背景,它是一个复合属性,常用的子属性如下:background-color 指定元素的背景颜色。background-image 指定元素的背景图像。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!