Css基础——精灵图(sprites)和字体图标

1、精灵图

1.1、精灵图的由来

一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送 请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度。

因此,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了 CSS 精灵技术(也称 CSS Sprites、CSS 雪碧)。

核心原理:将网页中的一些小背景图像整合到一张大图中 ,这样服务器只需要一次请求就可以了。

1.2、精灵图的使用方法

使用精灵图核心总结:

1. 精灵图主要针对于小的背景图片使用。

2. 主要借助于背景位置来实现---background-position 。

3. 一般情况下精灵图都是负值。(千万注意网页中的坐标: x轴右边走是正值,左边走是负值, y轴同理。)

1.3、实际案例

要求:用精灵图拼写出自己的名字

精灵图:

a9068e95c3d645c2b607992dd093879f.jpeg

html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./css/style.css">
</head><body><div class="box"><span class="d dib"></span><span class="i dib"></span><span class="h dib"></span><span class="u dib"></span><span class="a dib"></span><span class="n dib"></span></div>
</body></html>

css:

* {margin: 0;padding: 0;
}.box {width: 900px;height: 400px;margin: 100px auto;background-color: skyblue;
}.dib {display: inline-block;
}.d {width: 118px;height: 122px;background: url(../images/abcd.jpg) no-repeat -350px 0;
}.i {width: 60px;height: 124px;background: url(../images/abcd.jpg) no-repeat -327px -135px;
}.h {width: 104px;height: 107px;background: url(../images/abcd.jpg) no-repeat -218px -144px;
}.u {width: 121px;height: 128px;background: url(../images/abcd.jpg) no-repeat -470px -414px;
}.a {width: 115px;height: 122px;background: url(../images/abcd.jpg) no-repeat;
}.n {width: 120px;height: 123px;background: url(../images/abcd.jpg) no-repeat -249px -267px;
}

效果图:

ffd9a0881d4a4779af437e1b28cdc7fe.png


2、字体图标

2.1、字体图标的来源

精灵图是有诸多优点的,但是缺点很明显。

字体图标使用场景: 主要用于显示网页中通用、常用的一些小图标。

1. 图片文件还是比较大的。

2. 图片本身放大和缩小会失真。

3. 一旦图片制作完毕想要更换非常复杂。

此时,有一种技术的出现很好的解决了以上问题,就是字体图标 iconfont。 字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体。

2.2、字体图标的优点

1、轻量级:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求

2、灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等

3、兼容性:几乎支持所有的浏览器,请放心使用 注意: 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。

注意: 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。


总结:

1. 如果遇到一些结构和样式比较简单的小图标,就用字体图标。

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


字体图标是一些网页常见的小图标,我们直接网上下载即可。 因此使用可以分为:

1. 字体图标的下载

2. 字体图标的引入 (引入到我们html页面中)

3. 字体图标的追加 (以后添加新的小图标)

2.3、字体图标的下载

推荐下载网站:

icomoon 字库 http://icomoon.io

阿里 iconfont 字库 http://www.iconfont.cn/

2.4、字体图标的引入

下载教程:以阿里 iconfont 字库为例

1、打开网站,进入一个库中,点击购物车图标,加入合计

9407039e9db64fb4b8af374b72cd618f.png

2、待选完了一些字体图标以后,点击网页左上方购物车图标

a4cc430ecf594077a1f5ac5e547b787d.png

3、点击下载代码

7caf84682d5a49d89bef52d51d90bbd3.png

2.5、字体图标的使用

1、将解压后的文件放入根目录下的fonts文件夹(需要自己创建)

931dabd4e6c448c9953254d72bf0aac1.png

2、在页面中引入字体的css文件

e345175181ae4a2aa904ed7891f2d113.png

3、打开文件夹里的demo_index.html

0bf1daf16d714d90adc4a2cd4998d1d4.png

4、复制你想使用文件的Unicode码

96d63c4de1854357b373e0afddb96902.png

5、在标签中加入字体的类,并填写内容为Unicode码

c7c25040a51e4610ba770e279e8558df.png

效果图:

0b804ec91a614a35b6ed1c0ee5e7806d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276266.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

37. 解数独

代码实现&#xff1a; bool isValid(char **board, int row, int col, char c) {for (int i 0; i < 9; i) { // 行if (board[row][i] c) {return false;}if (board[i][col] c) { // 列return false;}}int startRow (row / 3) * 3;int startCol (col / 3) * 3;for (int …

【数据分析】数据分析介绍

专栏文章索引&#xff1a;【数据分析】专栏文章索引 目录 一、介绍 二、生活中的数据分析 1.无处不在的数据 2.为什么要进行数据分析&#xff1f; 三、数据挖掘案例 1.案例分析 一、介绍 数据采集&#xff1a;数据采集是指从不同来源收集原始数据的过程&#xff0c;包括…

Linux:kubernetes(k8s)Deployment的操作(13)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

前言、相关知识 1.闭集和开集 开集&#xff1a;识别训练集不存在的样本类别。闭集&#xff1a;识别训练集已知的样本类别。 2.多模态信息融合 文本和图像&#xff0c;文本的语义信息映射成词向量&#xff0c;形成词典&#xff0c;嵌入到n维空间。 图片内容信息提取特征&…

C++四种类型转换

本章草稿代码Gitee仓库&#xff1a;type_cast 文章目录 0.前言1. static_cast2. reinterpret_cast3. const_cast4. dynamic_cast 0.前言 C语言的类型转换有2种&#xff1a; 隐式类型转换显式类型转换 这里的类型转换并不是很规范&#xff0c;有时候会有潜在风险&#xff0c;…

VMware安装Ubuntu 18.04.2

下载Ubuntu映像 下载地址&#xff1a;http://old-releases.ubuntu.com/releases/18.04/ 下载名称&#xff1a; ubuntu-18.04.2-desktop-amd64.iso 清华镜像站&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 阿里云镜像站&#xff1a;https://mirrors.ali…

2024年最新阿里云优惠券获得方法整理

随着云计算技术的日益普及&#xff0c;阿里云作为国内领先的云服务提供商&#xff0c;受到了越来越多企业和个人的青睐。为了吸引广大用户&#xff0c;阿里云经常推出各种优惠活动&#xff0c;其中就包括阿里云优惠券&#xff0c;可以帮助用户降低成本&#xff0c;享受更优惠的…

【计算机网络】1.5 分组交换网中的时延、丢包和吞吐量

A.分组交换网中的时延 当分组从一个节点沿着路径到后一节点时&#xff0c;该分组在沿途的各个节点经受了几种不同类型的时延。 时延的类型 处理时延 - d n o d a l d_{nodal} dnodal​ 处理时延包括以下部分—— a. 检查分组首部 b. 决定分组导向 排队时延 - d p r o c d_{…

【超万字超详细Linux常用命令大全】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;书生♡&#xff0c;今天主要和大家分享一下LIinux的基础命令&#xff0c;带有各种命令的作用&#xff0c;语法&#xff0c;参数和详细案例&#xff0c;希望对大家有所帮助。 &#x1f49e;&#x1f49e;前路漫漫…

【MySQL性能优化】- 一文了解MVCC机制

MySQL理解MVCC &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff…

C# ListView 控件使用

1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…

QT----计算器

目录 1 搭建标准界面2、 逻辑编写2.1 初始化 github链接&#xff1a;基于qt的计算器 更多内容可以点击这里查看个人博客&#xff1a;个人博客 1 搭建标准界面 按照下图搭设界面 修改样式让这计算器看起来更像一点&#xff0c;同时对按钮分组进行样式编辑&#xff0c;添加字符…

导入fetch_california_housing 加州房价数据集报错解决(HTTPError: HTTP Error 403: Forbidden)

报错 HTTPError Traceback (most recent call last) Cell In[3], line 52 from sklearn.datasets import fetch_california_housing3 from sklearn.model_selection import train_test_split ----> 5 X, Y fetch_california_housing(retu…

IDEA编写各种WordCount运行

目录 一、编写WordCount(Spark_scala)提交到spark高可用集群 1.项目结构 2.导入依赖 3.编写scala版的WordCount 4.maven打包 5.运行jar包 ​6.查询hdfs的输出结果 二、本地编写WordCount(Spark_scala)读取本地文件 1.项目结构 2.编写scala版的WordCount 3.编辑Edit …

根据服务器系统选择对应的MySQL版本

1. 根据服务器系统选择对应的MySQL版本 MySQL有多个版本&#xff0c;选择对应的版本&#xff0c;重点信息是Linux的GLIBC版本号&#xff0c;Linux的版本、系统位数。 1.1 查看Linux的GLIBC版本号 通常libc.so会支持多个版本&#xff0c;即向前兼容&#xff0c;查看该文件中…

Hubspot 2023年推荐使用的11个AI视频生成器

视频是任何营销活动不可或缺的一部分&#xff1b;然而&#xff0c;如果你不懂编辑或时间紧迫&#xff0c;它们可能会很乏味&#xff0c;很难创建。一只手从电脑里伸出来&#xff0c;拳头碰到另一只手&#xff1b;代表AI视频生成器。 幸运的是&#xff0c;你可以利用许多人工智能…

kibana新增查看更新删除es中的数据

登录kibana&#xff0c;打开开发工具 写入数据 PUT test20240311/person/1 {"name": "张三","mobile":"13011111111" } 查询数据 GET /test20240311/person/_search {"query": {"term": {"mobile": {…

算法笔记之蓝桥杯pat系统备考(2)

算法笔记之蓝桥杯&pat系统备考&#xff08;1&#xff09; 文章目录 五、数学问题5.2最大公约数和最小公倍数5.2.1最大公约数5.2.2最小公倍数 5.3分数的四则运算5.3.1分数的表示与化简5.3.2分数的四则运算5.3.3分数的输出 5.4素数&#xff08;质数&#xff09;5.4.1[素数的…

java数据结构与算法刷题-----LeetCode47. 全排列 II

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 暴力回溯2. 分区法回溯 此题为46题的衍生题&#xff0c;在46题…

QTextToSpeech的使用——Qt

前言 之前随便看了几眼QTextToSpeech的帮助就封装使用了&#xff0c;达到了效果就没再管了&#xff0c;最近需要在上面加功能&#xff08;变换语速&#xff09;&#xff0c;就写了个小Demo后&#xff0c;发现不对劲了。 出现的问题 场景 写了个队列添加到语音播放子线程中&a…