CSS——精灵图

CSS------精灵图

目录

什么是精灵图?

精灵图(Spritesheet)是指将多个小图标、图像或动画合并到一个大图像中 的技术。在网页设计和游戏开发中,精灵图通常用于减少网络请求次数和优化页面性能,通过减少加载多个小图标的请求,从而加快页面加载速度

本篇仅以使用精灵图为示例,不涉及PS相关技术

导入精灵图

首先将准备好的精灵图导入css语法中

css 复制代码
.icon1 {
                width: 270px; /* 设置图标的宽度 */
                height: 70px; /* 设置图标的高度 */
                background-image: url('../static/img/icon.png'); /* 设置精灵图的路径 */
            }

CSS也支持其他语言的模版语法,例如Django中可以写成

css 复制代码
background-image: url('{% static 'img/icon.png' %}');

裁剪精灵图

定义三个元素坐标

css 复制代码
.rank1 {
    background-position: -530px 0;
}
.rank2 {
    background-position: -530px -70px;
}
.rank3 {
    background-position: -530px -140px;
}

background-position 属性指定了背景图像在元素内的位置,其中 -530px 表示水平方向的偏移量,-140px 表示垂直方向的偏移量

使用精灵图

方式1

直接作为标签背景使用

html 复制代码
<div class="icon1 rank3" style="margin-top: 5px">
    <p style="margin-top: -5px">总排行</p>
</div>

效果:

方式2

作为内嵌元素使用

html 复制代码
<p>崩坏星穹铁道</p>
<em class="icon2 crown2"></em>

效果:

html 复制代码
<p>崩坏星穹铁道</p>
<em class="icon2 crown2"></em>

效果:

相关推荐
自由生长202410 分钟前
IndexedDB的观察
前端
IT_陈寒27 分钟前
Vite热更新坑了我三天,原来配置要这么写
前端·人工智能·后端
斯班奇的好朋友阿法法35 分钟前
离线ollama导入Qwen3.5-9B.Q8_0.gguf模型
开发语言·前端·javascript
掘金一周38 分钟前
每月固定续订,但是token根本不够用,掘友们有无算力焦虑啊 | 沸点周刊 4.2
前端·aigc·openai
小村儿39 分钟前
连载加餐01-claude code 源码泄漏 ---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程
莫物1 小时前
vue过滤表格数据导致的索引错乱问题
前端·javascript·vue.js
竹林8181 小时前
从监听失败到实时更新:我在NFT铸造项目中搞定合约事件监听的全过程
前端·javascript
光影少年1 小时前
手写防抖和节流
前端·javascript·前端框架
笨笨狗吞噬者2 小时前
uni-app 编译小程序原生组件时疑似丢属性,可以给官方提 PR 了
前端·微信小程序·uni-app
英俊潇洒美少年2 小时前
vue3的编译优化
前端