CSS之精灵图(雪碧图)Sprites、字体图标

一、精灵图

精灵图:早期web加载图片需要不断请求,将多个小图片压缩至一张大图片的技术(可以通过移动位置使小图片被还原),由此减少了请求次数,从而提高网页性能。

移动背景图片的位置:background-position

目标图片是通过移动x y轴的坐标实现

一般情况下精灵图需要往左、上两个方向进行移动,故而多数情况下的雪碧图的移动为负值。

FW精灵图位置查找的替代工具(在线工具):Sprite Cow - Generate CSS for sprite sheets

如下是王者荣耀的精灵图:

html 复制代码
<style>
/*利用精灵图就是用背景图定位,注意点:1.坐标是从左上角出发 2.背景图往反方向移动,所以是负值*/
        .box{
            padding-left: 30px;
            background: url(abcd.png) no-repeat -2px -185px;(红旗背景图定位)
        }
        .box2{
            padding-left: 240px;
            border: 1px solid #000;
            height: 108px;
            line-height: 106px;
            background: url(abcd.png) no-repeat -2px -349px;(新人专区背景图定位)
        }
</style>

二、字体图标

1. 优点

轻量级:一个图标字体比一系列的图像都小,一旦字体还在,图标很快就可以渲染,减少了服务器的请求次数,从而提高网页的性能。

灵活性:本质是文字,可以随意改变大小、颜色等不失真

兼容性:几乎支持所有的浏览器

2. 字体图标的下载网站

https://icomoon.io/app/#/select

阿里巴巴矢量图标库(阿里妈妈):iconfont-阿里巴巴矢量图标库

  1. 字体图标的使用

下载完成后将fonts文件夹放入到html的源文件中(注意:源文件不要删除,后续可以做补充使用)

html 复制代码
ps:为何几乎可以兼容所有的浏览器?

1).TureType( .ttf )格式.ttf字体是Windows和Mac的最常见的字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome4+、Safari3+、Opera10+、iOS Mobile、Safari4.2+;

2).Web Open Font Format( .woff )格式woff字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome6+、Safari3.6+、Opera11.1+;

3).Embedded Open Type( .eot )格式.eot字体是IE专用字体,支持这种字体的浏览器有IE4+;

4).SVG( .svg )格式.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有Chrome4+、Safari3.1+、Opera10.0+、iOS Mobile Safari3.2+;

使用时在style标签中添加下述:

html 复制代码
 @font-face {
   font-family: 'icomoon';
   src:  url('fonts/icomoon.eot?7kkyc2');
   src:  url('fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
     url('fonts/icomoon.ttf?7kkyc2') format('truetype'),
     url('fonts/icomoon.woff?7kkyc2') format('woff'),
     url('fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
   font-weight: normal;
   font-style: normal;
 }

给标签定义文字

html 复制代码
 span {
   font-family: "icomoon";
 }

注意名称与之前style中添加的内容要相同

字体图标的追加:

相关推荐
囊中之锥.4 分钟前
《HTML 网页构造指南:从基础结构到实用标签》
前端·html
饼饼饼4 分钟前
从 0 到 1:前端 CI/CD 实战(第二篇:用Docker 部署 GitLab)
前端·自动化运维
qq_406176144 分钟前
JavaScript的同步与异步
前端·网络·tcp/ip·ajax·okhttp
beckyyy12 分钟前
ant design vue Table根据数据合并单元格
前端·ant design
用户81686947472514 分钟前
Commit 阶段的 3 个子阶段与副作用执行全解析
前端·react.js
岭子笑笑14 分钟前
Vant4图片懒加载源码解析(一)
前端
老华带你飞17 分钟前
婚纱摄影网站|基于java + vue婚纱摄影网站系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Rysxt_20 分钟前
UniApp App.vue 文件完整教程
开发语言·前端·javascript
qiyue7724 分钟前
AI浪潮下,前端的路在何方,附前端转KMP实践
前端·ai编程
Moment25 分钟前
历史性突破!LCP 和 INP 终于覆盖所有主流浏览器,iOS 性能盲点彻底消失
前端·javascript·面试