CSS精灵图(sprite)

CSS精灵图(sprite)  说到精灵图(雪碧图),大家肯定和我一样觉得这个很新鲜。在学习了有关精灵图(雪碧图)的一些知识后,就来和大家讨论一下,我个人对精灵图(雪碧图)的一些理解和实现方法吧。1、精灵图技术产生的目的:很多大型网页在首次加载的时候都需要加载很多的小图片,而考虑到在同一时间,服务器拥堵的情况下,为了解决这一问题,采用了精灵图这一技术来缓解加载时间过长从而影响用户体验的这个问题。2、精灵图技术的本质…

大家好,又见面了,我是你们的朋友全栈君。

   说到精灵图(雪碧图),大家肯定和我一样觉得这个很新鲜。在学习了有关精灵图(雪碧图)的一些知识后,就来和大家讨论一下,我个人对精灵图(雪碧图)的一些理解和实现方法吧。

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

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

CSS精灵图(sprite)

3、那么这是怎么实现将这么一张复杂的图片分别展示出来的呢,这里就得运用到了background-position。我们通过它来改变背景图片的位置,从而显示出我们想要显示出来的部分。

CSS精灵图(sprite)

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

<!DOCTYPE html>
<html lang="en">
<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 class="aa"></div>
    <div class="nn"></div>
    <div class="dd"></div>
    <div class="yy"></div>
</body>
</html>

最终效果:

CSS精灵图(sprite)

 

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132774.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 网站防攻击

    网站防攻击网站如何防御DDos攻击和CC攻击?网站如何防御DDoS攻击和CC攻击?如果网站所在的服务器不是高仿服务器,一旦遭遇DDos攻击或大量的CC攻击,那么自己的网站很有可能会处于瘫痪状态,甚至会引起服务器所在的整个机房服务器受影响,自己的服务器则很有可能陷入“黑洞”或者机房管理员暂时封闭IP,给网站拥有者带来严重的影响。一、网站为什么会遭遇DDos攻击或CC攻击?网站之所以会遭受DDo…

  • 表单构建html的页面代码,网页设计表单制作代码 制作一个很简单网页表单代码…

    表单构建html的页面代码,网页设计表单制作代码 制作一个很简单网页表单代码…CSS布局HTML小编今天和大家分享以下网页设计表格html代码CSS布局HTML小编今天和大家分享以下网页设计表格html代码急急急,下午要交作业了,编码大神救救我代码(大小有需要可以调):练习使用HTML运行效果:HTML5网页前端设计中如下图表单的代码怎么写?下面是表单代码,你直接再加属性就可以了,表单用table写比较简单,div太麻烦了;黑板用户注册页面用户名:密码:…

  • 高斯函数和正态分布的关系_高斯函数半高宽

    高斯函数和正态分布的关系_高斯函数半高宽高斯函数与正态分布高斯函数或者说正态分布函数在很多场合都得到广泛应用,其是概率论和统计学的核心,在最大似然估计、贝叶斯估计中必不可少。其也是稀疏贝叶斯估计的重要基础。下面对高斯函数的一些基本知识点进

  • (二)提升树模型:Xgboost原理与实践

    (二)提升树模型:Xgboost原理与实践本篇博客是提升树模型博客的第二篇文章,第一篇介绍GBDT的博客可以参看这里。本篇博客是基于kingsam_的博客整理而来,在此表示感谢。在这篇文章的基础上,我加入了一些自己的理解,使得介绍Xgboost的内容更加详实易读。同介绍GBDT一样,我首先会介绍理论部分,然后举例说明模型训练过程,最后介绍一些细节问题。文章目录一、Xgboost简介二、监督学习的三要素2.1模型2.2参数2.3…

  • Scrapy 升级前面python抓取全部图集谷女孩图片,这次抓取某女孩全部写真集,有能力自己改写抓取全部,要替换自己喜欢女孩地址

    Scrapy 升级前面python抓取全部图集谷女孩图片,这次抓取某女孩全部写真集,有能力自己改写抓取全部,要替换自己喜欢女孩地址首先创建ImagesRename在spiders里面创建ImgRename.py输入代码importscrapyfromImagesRename.itemsimportImage

  • scrapy框架

    scrapy框架scrapy框架简介和基础应用什么是Scrapy?Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号