CSS 高级技巧
目录
1.精灵图
1.1为什么需要精灵图
1.2 精灵图(sprites)的使用
2.字体图标
2.1字体图标的产生
2.2字体图标的优点
2.3字体图标的下载
2.4字体图标的引入
2.5字体图标的追加
1.精灵图
1.1为什么需要精灵图

一个网站往往回应用很多的小背景图像作为修饰,当一个网站中图像过多的时候,服务器会频繁的接受和发送请求图片造成服务器请求压力大者将大大降低页面加载的速度。
因此,为了有效的减少服务器接受和发送请求的次数,提高页面加载的速度,出现了CSS精灵技术,也称 css sprite, css雪碧。
(核心原理: 将网页中的一些小背景图像整合到一张的图像中,这样服务器只需要一次请求就可以了)
1.2 精灵图(sprites)的使用
使用精灵图的核心:
- 精灵图技术主要针对于背景图片的使用,就是把多个人小背景图片整合到一张大的图片中。
- 这个大图片也称为sprites 精灵图或者 雪碧图
- 移动背景图片位置,此时可以使用 background-position
- 移动距离就是这个目标图片x和y轴坐标,网页中坐标有所不同。
- 因为一般情况下都是往上往左移动,所以数值是负值。
- 使用精灵图的时候需要精确测量,每个图片的大小和位置。
使用精灵图核心总结
- 精灵图主要针对于小的背景图篇使用
- 主要借助于背景图片位置俩实现-- background-position
- 一般情况下精灵图都是负值(千万注意网页中的坐标:x轴右边走是正值,左边走是负值,y轴同理)
2.字体图标
2.1字体图标的产生
字体图标的使用场景:主要用于显示网页中通用,常用的一些小图标。
以前都是用精灵图来做的,不过精灵图有很多的缺点。
- 图片本身还是比较大的。
- 图片本身放大和缩小都会失真。
- 一旦图片制作完毕咸阳跟换是非常复杂的。
此时,有一种技术的出现很好的解决了以上问题,即使字体图标iconfont
字体图标可以为前端工程师提供一种方便高效的图标使用,展示的是图标,本质属于字体。
2.2字体图标的优点
- 轻量级:一个图标要比一系列的图像要小。一旦字体加载了,图片就会马上渲染出来,减少了服务器的请求。
- 灵活性:本质其实是文字,可以很随意的改变颜色,产生阴影,透明效果,旋转等。
- 兼容性:几乎支持所有的浏览器,请放心使用
注意:字体图标不能代替精灵技术,只是对工作中部分图标的提升和优化
总结:
- 如果遇到一些结构和样式比较简单的小图标,就用字体图标。

- 如果遇到一些结构和样式复杂的小图片,就用精灵图。

字体图标的使用
字体图标是一些网页常见的小图标,我们直接网上下载即可,因此使用可以分为:
- 字体图标的下载
- 字体图标的引用(引入到html网页中)
- 字体图标的追加(以后添加新的小图标)
2.3字体图标的下载
推荐网站:
https://iconion.com/posts/icomoon/
https://iconion.com/posts/icomoon/ IcoMoon 成立于2011年,退出了第一个自定义图标字体生成器,它允许用户选择所需要的图标,使他们称一字型,该字库内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速慢。
https://www.iconfont.cn/
https://www.iconfont.cn/阿里M2UX的一个iconfont 字体图标库,包含了淘宝图标库和阿里图标库。可以使用Ai制作图标上传代码。免费。
2.4字体图标的引入
下载完毕之后,注意原来的文件不要删除,后面还会使用。
1.把下载包里面的 fonts 文件夹放入页面根目录下。
2.在css样式中全局声名字体:简单理解把这些字体文件通过css引入到我们的页面中。一定要注意字体文件路径问题。
@font-face {font-family: 'icomoon';src: url('fonts/icomoon.eot?p4ssmb');src: url('fonts/icomoon.eot?p4ssmb#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?p4ssmb') format('truetype'),url('fonts/icomoon.woff?p4ssmb') format('woff'),url('fonts/icomoon.svg?p4ssmb#icomoon') format('svg');font-weight: normal;font-style: normal;font-display: block;
}
3.html 标签内添加小图标

代码实现:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 字体声明 */@font-face {font-family: 'icomoon';src: url('fonts/icomoon.eot?p4ssmb');src: url('fonts/icomoon.eot?p4ssmb#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?p4ssmb') format('truetype'), url('fonts/icomoon.woff?p4ssmb') format('woff'), url('fonts/icomoon.svg?p4ssmb#icomoon') format('svg');font-weight: normal;font-style: normal;font-display: block;}span {font-family: 'icomoon';font-size: 100px;color: palegoldenrod;}</style>
</head><body><span></span>
</body></html>
2.5字体图标的追加
如果在工作中,原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中。
把压缩包里面的selection.json 重新上传,然后选取自己想要的图标,重新下载压缩包,并替换原来的文件即可。

相关文章:
CSS 高级技巧
目录 1.精灵图 1.1为什么需要精灵图 1.2 精灵图(sprites)的使用 2.字体图标 2.1字体图标的产生 2.2字体图标的优点 2.3字体图标的下载 2.4字体图标的引入 2.5字体图标的追加 1.精灵图 1.1为什么需要精灵图 一个网站往往回应用很多的小背景图像作…...
ToBeWritten之MIPS汇编基础铺垫
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...
MySQL数据库对数据库表的创建和DML操作
1.创建表user,其中包含id、name、password,其中主键自增,name,唯一是可变长度,最大长度是30,密码,可变长度,最大长度为20,不为空。 以下是创建符合要求的user表的SQL语句…...
【PCB专题】PCB 阻焊层(solder mask)与助焊层(paste mask)有什么区别
一块标准的印刷电路板 (PCB) 通常需要两种不同类型的“罩层 (mask)”。其中阻焊层 (solder mask) 和助焊层 (paste mask) 都是“罩层”,但在 PCB 制造过程中,它们分别用于两个完全不同的部分,因此也存在很大的区别。 阻焊层定义 阻焊层定义了电路板外表面的保护材料涂抹范围…...
ThreeJS-纹理旋转、重复(十一)
旋转 文档:three.js docs 关键代码: //设置旋转中心,默认左下角 docColorLoader.center.set(0.5,0.5); //围绕旋转中心逆时针旋转45度 docColorLoader.rotation Math.PI/4; 完整代码: <template> <div id"three_div"></div>…...
CSDN——Markdown编辑器——官方指导
CSDN——Markdown编辑器——官方指导欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表…...
DN-DETR调试记录
博主在进行DINO实验过程中,发现在提取了3个类别的COCO数据集中,DINO-DETR对car,truck的检测性能并不理想,又通过实验自己的数据集,发现AP值相差不大且较为符合预期,因此便猜想是否是由于DINO中加入了负样本约束导致背景…...
ASP消防网上考试系统设计与实现
本文以ASP和Access数据库来开发服务器端,通过计算机网络技术实现了一个针对消防部队警官的网上考试系统。为了。提高消防部队的工作效率和信息化水平,体现消防部队信息化进程的特色,开发一个适合消防部队的计算机网上考试系统是非常必要的。鉴…...
MongoDB - 数据模型的设计模式
简介 官方文章的地址是 Building with Patterns: A Summary,其中汇总了 12 种设计模式及使用场景。 上述的图表列举了 12 种设计模式及应用场景,主要是以下这些: 近似值模式(Approximation Pattern)属性模式…...
3D格式转换工具助力Shapr3D公司产品实现了 “无障碍的用户体验”,可支持30多种格式转换!
今天主要介绍的是HOOPS Exchange——一款支持30多种CAD文件格式读取和写入的工具,为Shapr3D公司提供的重要帮助! Shapr3D是一家有着宏伟目标的公司:将CAD带入21世纪!该公司于2016年首次推出其同名应用程序,并将Shapr3D带到了macOS…...
虚拟环境-----virtualenv和pipenv的安装和应用
1.pip install virtualenv 2.pip安装虚拟环境管理包virtualenvwrapper-win 3.创建一个存放虚拟环境的目录(建议命名为.env或者.virtualenv) 4.配置环境变量(变量名:WORKON_HOME,值:上面创建的目录路径) …...
awd pwn——LIEF学习
文章目录1. 什么是LIEF2. 加载可执行文件3. 修改ELF的symbols4. ELF Hooking5. 修改got表6. 总结1. 什么是LIEF LIEF是一个能够用于对各种类型的可执行文件(包括Linux ELF文件、Windows exe文件、Android Dex文件等)进行转换、提取、修改的项目…...
亚商投资顾问 早餐FM/0330 6G发展持开放态度
01/亚商投资顾问 早间导读 1.工信部副部长:中国对6G发展持开放的态度已成立工作组推动关键技术研究 2.易纲、周小川最新发声 中国加快绿色低碳发展的决心坚定不移 3.中移动出手!450亿溢价包圆邮储银行定增股份 4.海南全面启动全岛封关运作准备 免税消…...
cookie和session的区别
文章目录cookie和session的区别1. 存储位置不同2. 生命周期不同3. 存储数据大小不同4. 数据类型不同5. 安全性不同cookie和session的区别 1. 存储位置不同 cookie:cookie数据保存在客户端。 session:session数据保存在服务器端。 2. 生命周期不同 s…...
android 人脸考勤机 卡死原因
Android人脸考勤机卡死的原因可能有以下几个方面: 硬件限制:如果使用的设备性能较低,如处理器、内存、存储等都不足以支持应用程序的运行,就容易出现卡顿、卡死等问题。 代码优化:代码的优化也是影响应用程序性能的重…...
安装k8s工具之三-kube-ansible
一、介绍 Kube-ansible 是一个开源的 Kubernetes 部署和管理工具,它使用 Ansible 自动化工具来管理 Kubernetes 集群。Kube-ansible 提供了一套可扩展的框架,可以方便地部署和管理 Kubernetes 集群。 Kube-ansible 的主要特点包括: 支持多…...
《程序员面试金典(第6版)》面试题 08.09. 括号(回溯算法,特殊的排列问题,C++)
题目描述 括号。设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。 说明:解集不能包含重复的子集。 例如,给出 n 3,生成结果为: ["((()))","(()())…...
大厂面试篇--2023软件测试八股文最全文档,有它直接大杀四方
前言 已经到了金三银四的黄金招聘季节了,还在准备面试跳槽涨薪的小伙伴们可以看看本篇文章哟,这里呢笔者就不多说废话了直接上干货!答案已整理好,文末拿去即可!非常好用! 一、字节跳动测试面经篇 1、在搜…...
LeetCode326_326. 3 的幂
LeetCode326_326. 3 的幂 一、描述 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n 3的x次方 示例 1: 输…...
Redis第九讲 Redis之Hash数据结构Dict字典哈希算法与hash存储过程
Redis dict使用的哈希算法 前面提到,一个kv键值对,添加到哈希表时,需要用一个映射函数将key散列到一个具体的数组下标。 Redis 目前使用两种不同的哈希算法: MurmurHash2 是种32 bit 算法:这种算法的分布率和速度都非常好;Murmur哈希算法最大的特点是碰撞率低,计算速度…...
如何高效提取Wallpaper Engine资源:RePKG完整使用指南
如何高效提取Wallpaper Engine资源:RePKG完整使用指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业资源提取工具…...
终极Django CORS Headers缓存优化指南:如何正确配置Vary头部提升性能
终极Django CORS Headers缓存优化指南:如何正确配置Vary头部提升性能 【免费下载链接】django-cors-headers Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS) 项目地址: https://gitcode.com/gh_mirrors/dj/djang…...
Unity游戏模组革命:MelonLoader新手10分钟完全指南
Unity游戏模组革命:MelonLoader新手10分钟完全指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 你是否想过为喜爱…...
媒体服务器功能解锁:打造专业级家庭媒体中心的完整方案
媒体服务器功能解锁:打造专业级家庭媒体中心的完整方案 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 在数字化娱乐时代,一个功能完善的媒…...
LiuJuan20260223Zimage新手必看:从CSDN博客文档到本地成功出图的避坑指南
LiuJuan20260223Zimage新手必看:从CSDN博客文档到本地成功出图的避坑指南 你是不是也遇到过这种情况?在CSDN上看到一个有趣的AI绘画模型,比如这个LiuJuan20260223Zimage,文档写得清清楚楚,但自己一上手部署࿰…...
AI智能二维码工坊后端对接:REST API接入业务系统指南
AI智能二维码工坊后端对接:REST API接入业务系统指南 1. 为什么需要后端对接?——从界面操作到系统集成的跨越 你可能已经试过在AI智能二维码工坊的WebUI里点点鼠标:输入一段文字,几毫秒就生成一张高清二维码;上传一…...
在Windows 11上用VirtualBox搞定WRF-Hydro 5.2.0:一个水文模型小白的Ubuntu 22.04虚拟机避坑实录
在Windows 11上用VirtualBox搞定WRF-Hydro 5.2.0:一个水文模型小白的Ubuntu 22.04虚拟机避坑实录 第一次接触WRF-Hydro时,我盯着满屏的命令行代码和复杂的依赖关系,感觉像在破解某种外星密码。作为一名水文专业的研究生,我的Linux…...
保姆级避坑指南:在Ubuntu 20.04上搞定Carla 0.9.15与ROS Noetic的联合仿真环境
保姆级避坑指南:Ubuntu 20.04下Carla 0.9.15与ROS Noetic联合仿真环境搭建全攻略 搭建自动驾驶仿真环境就像在雷区跳舞——稍有不慎就会触发依赖冲突、版本不兼容或环境变量错误。本文将带你用最短时间穿越这片雷区,特别针对那些官方文档没写、论坛讨论含…...
联想X3650M5服务器双模式切换实战:UEFI与Legacy BIOS自由转换技巧
联想X3650M5服务器双模式切换实战:UEFI与Legacy BIOS自由转换技巧 在企业级IT基础设施中,服务器启动模式的灵活配置往往是系统部署的关键第一步。联想X3650M5作为主流机架式服务器,其双模式切换功能直接影响着操作系统兼容性、磁盘性能表现乃…...
OpenClaw浏览器控制:GLM-4.7-Flash实现自动化数据采集
OpenClaw浏览器控制:GLM-4.7-Flash实现自动化数据采集 1. 为什么选择OpenClaw进行网页数据采集 去年我在做一个市场分析项目时,遇到了一个棘手的问题——需要从十几个行业网站定期采集数据,但每个网站的页面结构都不一样。手动复制粘贴效率…...
