前端学习<二>CSS基础——14-CSS3属性详解:Web字体

news2024/11/28 2:45:28

前言

开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体。从此,把特殊字体处理成图片的方式便成为了过去。

支持程度比较好,甚至 IE 低版本的浏览器也能支持。

字体的常见格式

不同浏览器所支持的字体格式是不一样的,我们有必要了解一下字体格式的知识。

TureTpe格式:(.ttf)

.ttf 字体是Windows和Mac的最常见的字体,是一种RAW格式。

支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome4+、Safari3+、Opera10+、iOS Mobile、Safari4.2+。

OpenType格式:(.otf)

.otf 字体被认为是一种原始的字体格式,其内置在TureType的基础上。

支持这种字体的浏览器有Firefox3.5+、Chrome4.0+、Safari3.1+、Opera10.0+、iOS Mobile、Safari4.2+。

Web Open Font Format格式:(.woff)

woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离。

支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome6+、Safari3.6+、Opera11.1+。

Embedded Open Type格式:(.eot)

.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有IE4+。

SVG格式:(.svg)

.svg字体是基于SVG字体渲染的一种格式。

支持这种字体的浏览器有Chrome4+、Safari3.1+、Opera10.0+、iOS Mobile Safari3.2+。

总结:

了解了上面的知识后,我们就需要为不同的浏览器准备不同格式的字体。通常我们会通过字体生成工具帮我们生成各种格式的字体,因此无需过于在意字体格式之间的区别。

下载字体的网站推荐:

  • 找字网_免费字体下载、字体在线商用授权、ttf字体分享、专业字体网站!

  • 有字库-首页-全球第一中文web font(在线字体)服务平台、web font、webfont、在线字体、网络字体

WebFont 的使用步骤

打开网站iconfont-webfont平台,如下:

上图中,比如我想要「思源黑体-粗」这个字体,那我就点击红框中的「本地下载」。

下载完成后是一个压缩包,压缩包链接:http://download.csdn.net/download/smyhvae/10253561

解压后如下:

上图中, 我们把箭头处的html文件打开,里面告诉了我们 webfont 的使用步骤

(1)第一步:使用font-face声明字体

 @font-face {font-family: 'webfont';
     src: url('webfont.eot'); /* IE9*/
     src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('webfont.woff') format('woff'), /* chrome、firefox */
     url('webfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
     url('webfont.svg#webfont') format('svg'); /* iOS 4.1- */
 }

(2)第二步:定义使用webfont的样式

 .web-font{
     font-family:"webfont" !important;
     font-size:16px;font-style:normal;
     -webkit-font-smoothing: antialiased;
     -webkit-text-stroke-width: 0.2px;
     -moz-osx-font-smoothing: grayscale;}

(3)第三步:为文字加上对应的样式

 <i class="web-font">这一分钟,你和我在一起,因为你,我会记得那一分钟。从现在开始,我们就是一分钟的朋友。这是事实,你改变不了,因为已经完成了。</i>

举例:

我们按照上图中的步骤来,引入这个字体。完整版代码如下:

 <!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <style>
 ​
         p{
             font-size:30px;
         }
 ​
         /*  如果要在网页中使用web字体(用户电脑上没有这种字体)*/
         /* 第一步:声明字体*/
         /* 告诉浏览器 去哪找这个字体*/
         @font-face {font-family: 'my-web-font';
             src: url('font/webfont.eot'); /* IE9*/
             src: url('font/webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
             url('font/webfont.woff') format('woff'), /* chrome、firefox */
             url('font/webfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
             url('font/webfont.svg#webfont') format('svg'); /* iOS 4.1- */
         }
         /* 第二步:定义一个类名,谁加这类名,就会使用 webfont 字体*/
         .webfont{
             font-family: 'my-web-font';
         }
     </style>
 </head>
 <body>
     <!-- 第三步:引用 webfont 字体 -->
     <p class="webfont">生命壹号,永不止步</p>
 </body>
 </html>

代码解释:

(1)my-web-font这个名字是随便起的,只要保证第一步和第二步中的名字一样就行。

(2)因为我把字体文件单独放在了font文件夹中,所以在src中引用字体资源时,写的路径是 font/...

工程文件:2018-02-20-WebFont举例.zip

字体图标(阿里的 iconfont 网站举例)

我们其实可以把图片制作成字体。常见的做法是:把网页中一些小的图标,借助工具生成一个字体包,然后就可以像使用文字一样使用图标了。这样做的优点是:

  • 将所有图标打包成字体库,减少请求;

  • 具有矢量性,可保证清晰度;

  • 使用灵活,便于维护。

也就是说,我们可以把这些图标当作字体来看待,凡是字体拥有的属性(字体大小、颜色等),均适用于图标。

使用步骤如下:(和上一段的使用步骤是一样的)

打开网站iconfont-阿里巴巴矢量图标库,找到想要的图标,加入购物车。然后下载下来:

压缩包下载之后,解压,打开里面的demo.html,里面告诉了我们怎样引用这些图标。

举例1:(图标字体引用)

 <!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <style>
         /*申明字体*/
         @font-face {font-family: 'iconfont';
             src: url('font/iconfont.eot'); /* IE9*/
             src: url('font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
             url('font/iconfont.woff') format('woff'), /* chrome、firefox */
             url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
             url('font/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
         }
 ​
         .iconfont{
             font-family: iconfont;
         }
 ​
         p{
             width: 200px;
             border: 1px solid #000;
             line-height: 60px;
             font-size:30px;
             margin:100px auto;
             text-align: center;
         }
 ​
         p span{
             color:red;
         }
     </style>
 </head>
 <body>
     <!-- 【重要】编码代表图标 -->
     <p><span class="iconfont">&#xe628;</span>扫码付款</p>
 </body>
 </html>
 ​

效果如下:

举例2:(伪元素的方式使用图标字体)

如果想要在文字的前面加图标字体,我们更习惯采用伪元素的方式进行添加。

代码如下:

 <!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <style>
         /*申明字体*/
         @font-face {font-family: 'iconfont';
             src: url('font/iconfont.eot'); /* IE9*/
             src: url('font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
             url('font/iconfont.woff') format('woff'), /* chrome、firefox */
             url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
             url('font/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
         }
 ​
 ​
 ​
         p{
             width: 200px;
             border: 1px solid #000;
             line-height: 60px;
             font-size:30px;
             margin:100px auto;
             text-align: center;
             position: relative;
         }
 ​
         .icon::before{
             /*&#xe628;*/
             content:"\e628";
             /*position: absolute;*/
             /*left:10px;*/
             /*top:0px;*/
             font-family: iconfont;
             color:red;
         }
 ​
         span{
             position: relative;
 ​
         }
 ​
 ​
     </style>
 </head>
 <body>
     <p class="icon">扫码付款</p>
     <span class="icon" >我是span</span>
     <div class="icon">divvvvvvvvvvv</div>
 </body>
 </html>
 ​

效果如下:

工程文件:

  • 2018-02-20-图标字体demo.zip

  • 下载链接暂无。

其他相相关网站介绍

  • Font Awesome 使用介绍:Font Awesome,一套绝佳的图标字体库和CSS框架

定制自已的字体图标库:

  • iconfont-阿里巴巴矢量图标库

  • ❍ IcoMoon

SVG素材:

  • iconfont-阿里巴巴矢量图标库

360浏览器网站案例

暂略。

这里涉及到:jQuery fullPage 全屏滚动插件。

  • 中文网址:dowebok-做好网站

  • 相关说明:jQuery全屏滚动插件fullPage.js_dowebok

使用 Bootstrap 网站的图标字体

打开如下网站:Font Awesome, 为 Bootstrap 而创造的图标字体。

如上图所示,下载字体后,进行解压:

使用步骤如下:

(1)如图只是想要字体的话,可以把cssfont这两个文件夹拷贝到项目里。

(2)在html文档中的 <head> 标签里,引入 font-awesome.min.css 文件:

     <link rel="stylesheet" href="css/font-awesome.min.css">

(3)想在哪个标签里用这个图标,直接在这个标签里加className就行(className都在网站上列出来了)。

完整版代码如下:

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
     <link rel="stylesheet" href="css/font-awesome.min.css">
     <style>
 ​
     </style>
 </head>
 <body>
     <span class="icon-play">播放</span>
 </body>
 </html>

写在最后:希望大家可以点个关注点个赞,这对up真的很重要!谢谢!

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML期末作业-香水网站,逐步讲解

知名品牌 CHANEL I wear nothing but a few drops of Chanel No.5. 了解更多 GIVENCHY 纪梵希香水几乎就是赫本本人的化身——经典、优雅、高贵、简洁、女性化 了解更多 DIOR Dior Addict the now fragrance from Dior. 了解更多 BURBUEEY The good things in life neve…

大数据技术之 Apache Doris(一)

第 1 章 Doris 简介 1.1 Doris 概述 Apache Doris 由百度大数据部研发&#xff08;之前叫百度 Palo&#xff0c;2018 年贡献到 Apache 社区后&#xff0c;更名为 Doris &#xff09;&#xff0c;在百度内部&#xff0c;有超过 200 个产品线在使用&#xff0c;部署机器超过 10…

抽象类和接口(2)(接口部分)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

微信公众号账号迁移主体怎么变更?

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;大家都知道&#xff0c;公众号是不支持直接变更主体的&#xff1b;但是很多情况下&#xff0c;我们又不得不进行账号主体的更换&#xff1b;这时候&#xff0c;我么就可以通过账号迁移功能&#xff0c;将A公众号的粉…

MySQL使用技巧,高级Java开发必看

insert into tab(col1,col2…) select … 5、活用正则表达式 regexp ^ $ . * | 6、关联查询比子查询效率快&#xff0c;优先使用join关联查询 7、if(exp,v1,v2) if()函数的使用 exp:表达式 v1:exp为真时返回的值 v2:exp为假时返回的值 8、case when… then… else… en…

广和通发布基于高通高算力芯片的具身智能机器人开发平台Fibot

3月29日&#xff0c;为助力机器人厂商客户快速复现及验证斯坦福Mobile ALOHA机器人的相关算法&#xff0c;广和通发布具身智能机器人开发平台Fibot。作为首款国产Mobile ALOHA机器人的升级配置版本&#xff0c;开发平台采用全向轮底盘设计、可拆卸式训练臂结构&#xff0c;赋予…

AI如何影响装饰器模式与组合模式的选择与应用

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#xff1a;设计模式深度解析&#xff1a;AI如何影响…

[C/C++] -- 二叉树

1.简介 二叉树是一种每个节点最多有两个子节点的树结构&#xff0c;通常包括&#xff1a;根节点、左子树、右子树。 满二叉树&#xff1a; 如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。深度为k&a…

10、电科院FTU检测标准学习笔记-双遥信及变位优先验证

———————————————————————————————————— 作者简介&#xff1a; 本人从事电力系统多年&#xff0c;岗位包含研发&#xff0c;测试&#xff0c;工程等&#xff0c;具有丰富的经验 在配电自动化验收测试以及电科院测试中&#xff0c;本人全程参…

电脑win10系统更新后开机很慢,更新win10后电脑开机怎么变慢了

很多用户反映,更新win10后电脑开机怎么变慢了呢?现在动不动就要30几秒,以前都是秒开机的,要怎么设置才能提高开机速度?小伙伴们别着急,主要原因可能是关机设置中没有勾选启用快速启动,或者是开机启动设置的问题,针对开机变慢的情况,小编整理了2个处理方法,接下来,我…

U盘PE引导-系统安装操作

U盘PE引导-系统安装操作 1. U盘接入电脑&#xff0c;开机按F12&#xff08;DELL&#xff09;选择U盘引导&#xff0c;按回车&#xff0c;如图2.选择进入PE 系统3.进入PE 系统后&#xff0c;运行 WinNTSetup 安装器&#xff0c; 具体 设置如下图 1. U盘接入电脑&#xff0c;开机…

C语言键盘输入与屏幕输出——数据的格式化键盘输入

目录 数据的格式化键盘输入 输入数据的格式控制 scanf&#xff08;&#xff09;的格式字符 scanf()的格式修饰符 数据的格式化键盘输入 格式 scanf&#xff08;格式控制字符串&#xff0c;输入地址表&#xff09;&#xff1b; 输入数据的格式控制 格式 scanf&#xff08;…

深度学习:AIGC重塑金融大模型驱动金融变革

作者&#xff1a;林建明 来源&#xff1a;IT阅读排行榜 本文摘编自《AIGC重塑金融&#xff1a;AI大模型驱动的金融变革与实践》&#xff0c;机械工业出版社出版这是最好的时代&#xff0c;也是最坏的时代。尽管大模型技术在金融领域具有巨大的应用潜力&#xff0c;但其应用也面…

Stream流的详细说明

什么是stream流 Stream流是指一种数据处理的概念&#xff0c;它可以将数据以连续的方式传输&#xff0c;而不用等待整个数据集全部加载完成。在计算机编程中&#xff0c;Stream流通常用于处理大数据集或实时数据流。 Stream流可以分为输入流和输出流&#xff0c;输入流用于从数…

Python 唯一标识符(UUID)库之shortuuid使用详解

概要 在现代软件开发中,唯一标识符(UUID)在数据记录、身份验证和唯一性标识等方面扮演着重要的角色。然而,标准的UUID通常很长,不方便使用。Python的shortuuid库应运而生,它可以生成短且易读的唯一标识符,方便在各种应用场景中使用。本文将深入探讨shortuuid库的特性、…

Docker Desktop 在 Windows 上的安装和使用

目录 1、安装 Docker Desktop 2、使用 Docker Desktop &#xff08;1&#xff09;运行容器 &#xff08;2&#xff09;查看容器信息 &#xff08;3&#xff09;数据挂载 Docker Desktop是Docker的官方桌面版&#xff0c;专为Mac和Windows用户设计&#xff0c;提供了一个简…

第3章 数据链路层(2)

3.4 流量控制和可靠传输机制 数据链路层流量控制控制相邻节点发送速率。 使用确认和超时重传两种机制实现可靠传输。 3.4.1 流量控制,可靠传输与滑动窗口机制 1.停止—等待协议协议基本原理 发送方发每发送一帧,等待接收方回应的ACK发送下一帧或超出计时没收到ACK就重发。 2.滑…

将python项目封装打包为.so文件(多级目录)

原始目录 segment-anything文件夹 结果目录 删除了用于测试、说明的相关文件&#xff0c;更改了一些文件名称&#xff0c;使用main.py作为入口程序。 segment-anything文件夹 具体实现 1.删除不必要的文件 2.改segment-anything为seg 3.改amg_test.py 改test.py 改./seg/pr…

4.java openCV4.x 入门-Mat之创建、复制

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f9ed;文…

C# 高级文件操作与异步编程探索(初步)

文章目录 文本文件的读写探秘StreamReader 类深度剖析StreamWriter 类细节解读编码和中文乱码的解决方案 二进制文件的读写BinaryReader 类全面解析BinaryWriter 类深度探讨 异步编程与C#的未来方向同步与异步&#xff1a;本质解读Task 的神奇所在async/await 的魔法 在现代编程…