首页 > 其他分享 >CSS精灵技术

CSS精灵技术

时间:2023-06-28 16:12:00浏览次数:30  
标签:网页 精灵 技术 background 图像 CSS 页面

一、CSS精灵

需求:

 

当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。然而,一个网页中往往会用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。

简单地说,CSS精灵是一种处理网页背景图像的方式。它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大图应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。通常情况下,这个由很多小的背景图像合成的大图被称为精灵图(雪碧图),如下图所示。

 

CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),然而,各个网页元素通常只需要精灵图中不同位置的某个小图,要想精确定位到精灵图中的某个小图,就需要使用CSS的background-image、background-repeat和background-position属性进行背景定位,其中最关键的是使用background-position属性精确地定位。

 

 

 

 

 

 

二、制作精灵图

大部分情况下,精灵图是由美工使用 PS 来制作的。需要注意的是:

  • 精灵图上放的都是小的装饰性的背景图片,不能出现插入图片;
  • 精灵图的宽度取决于最宽的那个背景;
  • 摆列方式可以是横向的,也可以是纵向的,但每个图片之间需间隔开偶数像素的空间;
  • 背景图很少的情况下,没必要用精灵图,维护成本太高;如果背景图片太多,建议使用。

 

三、

 

background-position:500px 15px;
背景图片从容器(container)左上角的地方向右移500px,向下移15px,超出的部分隐藏。

background-position:-500px -15px;
背景图片从容器(container)左上角的地方向左移500px,向上移15px,超出的部分隐藏。

 

 

 

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

 

标签:网页,精灵,技术,background,图像,CSS,页面
From: https://www.cnblogs.com/lihuawei/p/17510480.html

相关文章

  • LCD多键触摸驱动IC芯片VK36N3B/4B/5B/6B/7B/8B技术资料
    型号汇总:VK36N3B-8B按键数不同,分别对应3-8个触摸按键VK36N3B封装为sop8,VK36N4-8B为sop16,VK36N3B/4B为2位BCD码输出,VK36N5B-8B为3位BCD码输出。概述:VK36N3B具有3个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键......
  • 【Flutter专题】Android Flutter入门笔记、技术解析与项目实战
    Flutter是一个跨平台、高性能的移动UI框架,其采用Dart语言开发,并使用自己的渲染引擎来绘制UI,保证了自身的高性能,保证了在Android和iOS上UI的一致性。目前Flutter已经支持iOS、Android、Web、Windows、macOS、Linux、Fuchsia(Google新的自研操作系统)等众多平台。与其他跨平......
  • 即时通讯技术文集(第18期):IM架构设计基础知识合集 [共16篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第18 期。[- 1 -] IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?[链接] http://www.52im.net/thread-1647-1-1.html[摘要] MQ消息中间件可以理解一个水池,水池的这头是消息生产者......
  • CSS :last-child选中不了元素
    1.情况:当div:finaincingMark-right-item后还有div:sliderLine时,使用finaincingMark-right-item:last-child无法选中finaincingMark-right-item遍历后的最后一个div:finaincingMark-right-item,同时也没选中div:sliderLine,样式并不能选中任何一个div 2.解决:使div:finaincingMark-righ......
  • G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析 | 京东云技术团队
    1.背景我方有一应用,偶尔会出现GC时间过长(间隔约4小时),导致性能波动的问题(接口最长需要耗时3秒以上)。经排查为G1垃圾回收器参数配置不当叠加MySQL链接超过闲置时间回收,产生大量的虚引用,导致G1在执行老年代混合GC,标记阶段耗时过长导致。以下为对此问题的分析及问题总结。此外,此......
  • 从Kafka中学习高性能系统如何设计 | 京东云技术团队
    1前言相信各位小伙伴之前或多或少接触过消息队列,比较知名的包含RocketMQ和Kafka,在京东内部使用的是自研的消息中间件JMQ,从JMQ2升级到JMQ4的也是带来了性能上的明显提升,并且JMQ4的底层也是参考Kafka去做的设计。在这里我会给大家展示Kafka它的高性能是如何设计的,大家也可以学习相......
  • C语言中的数据加密和解密技术
    C语言中的数据加密和解密技术数据加密是计算机安全领域中非常重要的一项技术,它可以将敏感的数据转化为一种无法理解或解读的形式,以保护数据的机密性和完整性。在C语言中,我们可以使用各种算法和技术来实现数据的加密和解密操作。本文将介绍在C语言中进行数据加密和解密的基本概念和......
  • CSS中实现元素居中的七种方法总结
    在前端开发中,经常需要将元素居中显示,CSS提供了多种技术方法来实现元素的居中,在不同场景下有不同的使用方法、不同的效果,需要特别记住它们的应用场景才能够正常的居中。这篇文章就大致总结一下CSS中的居中方法。一、元素分类在CSS中,元素大致可以分为以下几种:1.块级元素(Block-l......
  • CSS font-weight
    主要理解UI给得英文名对应得数值字体粗细:‘font-weight’属性名称:font-weight取值:normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900初始:normal适用于:  所有元素继承:是百分比:  (不适用)媒介:视觉计算值:  详见描述动画:-‘......
  • css grid布局(网格布局)笔记
    Grid布局网格布局的基本概念CSS网格布局引入了二维网格布局系统,可用于布局页面主要的区域布局或小型组件。什么是网格?网格是一组相交的水平线和垂直线,它定义了网格的列和行。我们可以将网格元素放置在与这些行和列相关的位置上。网格布局的特点:固定的轨道尺寸或者弹性......