CSS Sprite (精灵图/雪碧图)

CSS Sprite

目录

应用场景

1.网页性能优化

  • 减少 HTTP 请求:在传统的网页中,如果有多个小图标或小图片,浏览器需要为每个图片单独发起一个 HTTP 请求。这会增加服务器的负载和页面的加载时间。使用 CSS 精灵图可以将这些小图片合并成一张大图,浏览器只需要发起一个 HTTP 请求来获取这张大图,从而显著减少了请求数量,加快了页面的加载速度
  • 节省带宽:精灵图在合并小图片时,可以对图片进行优化处理,减少图片的总体大小

2.用户交互场景

  • 实现图标切换效果:通过改变 CSS 的 background-position 属性,可以轻松实现图标的切换效果
  • 创建动画效果:结合 CSS 的 animation 属性和精灵图,可以创建简单的动画效果。通过不断改变 background-position 属性,让精灵图中的不同部分依次显示,从而形成动画效果

代码实现

1.目录结构

2.练习图片地址

emoji图片地址

3.代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>精灵图</title>
    <style>
        .container{
            width: 80px;
            height: 80px;
            outline: 1px solid #ccc;
            background: url(./img/emoji.jpg) no-repeat -130px -120px;
            /* background-position:-130px -120px; 合入background*/
        }
    </style>
</head>
<body>
    <div class="container"></div>
</body>
</html>

4.效果

相关推荐
写代码的【黑咖啡】1 天前
Python 中的自然语言处理利器:NLTK
前端·javascript·easyui
Swift社区1 天前
Nginx 反向代理配置 React 前端与 Python 后端
前端·nginx·react.js
可问春风_ren1 天前
Vue3 入门详解:从基础到实战
开发语言·前端·javascript·vue.js·前端框架·ecmascript·edge浏览器
一起养小猫1 天前
Flutter for OpenHarmony 实战:从零开发一款五子棋游戏
android·前端·javascript·flutter·游戏·harmonyos
晚霞的不甘1 天前
Flutter for OpenHarmony全面升级「今日运势」 应用的视觉与交互革新
前端·学习·flutter·前端框架·交互
学嵌入式的小杨同学1 天前
【Linux 封神之路】文件操作 + 时间编程实战:从缓冲区到时间格式化全解析
linux·c语言·开发语言·前端·数据库·算法·ux
RFCEO1 天前
学习前端编程:精准选中 HTML 元素的技巧与方法
前端·学习·css类选择器·兄弟元素选中·父子选中·关系选中·选择器选中
想睡好1 天前
ref和reactive
前端·javascript·vue.js
霁月的小屋1 天前
React 闭包陷阱深度解析
前端·javascript·react.js
tao3556671 天前
【用AI学前端】HTML-01-HTML 基础框架
前端·html