前言

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

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

字体的常见格式

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

TureTpe格式:(.ttf)

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

支持这种字体的浏览器有IE、Firefox、Chrome、Safari、Opera

OpenType格式:(.otf)

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

支持这种字体的浏览器有IE、Firefox、Chrome、Safari、Opera

Web Open Font Format格式:(.woff)

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

支持这种字体的浏览器有IE、Firefox、Chrome、Safari、Opera

Embedded Open Type格式:(.eot)

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

SVG格式:(.svg)

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

支持这种字体的浏览器有IE、Firefox、Chrome、Safari、Opera

总结:

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

下载字体的网站推荐:

  • http://www.zhaozi.cn/

  • http://www.youziku.com/

WebFont 的使用步骤

打开网站http://iconfont.cn/webfont#!/webfont/index,如下:

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

下载完成后是一个压缩包,压缩包链接: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 网站举例)

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

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

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

  • 使用灵活,便于维护。

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

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

打开网站http://iconfont.cn/,找到想要的图标,加入购物车。然后下载下来:

压缩包下载之后,解压,打开里面的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 使用介绍:http://fontawesome.dashgame.com/

定制自已的字体图标库:

  • http://iconfont.cn/

  • https://icomoon.io/

SVG素材:

  • http://www.iconsvg.com/

360浏览器网站案例

暂略。

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

  • 中文网址:http://www.dowebok.com

  • 相关说明:http://www.dowebok.com/77.html

使用 Bootstrap 网站的图标字体

打开如下网站:http://www.bootcss.com/p/font-awesome/。

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

使用步骤如下:

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

(2)在html文档中的 标签里,引入 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>

我的公众号

想学习代码之外的技能?不妨关注我的微信公众号:前端小泽

扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:

关注博主,更多文章精彩继续,一起学习前端

web前端之CSS——web字体详解相关推荐

  1. web前端开发入门学习线路图详解-2019升级版

    现如今,Web前端工程师已经成为各大互联网公司不可或缺的热门职位,从业者队伍日渐庞大,这其中不乏零基础学习者和转行人士.为了方便大家系统而全面的掌握前端基础知识,千锋小编特意整理了web前端开发入门学 ...

  2. 【Web前端】HTMLCSS一文详解

    现在对HTML和CSS的基础知识做一个详细的总结,文章内容很硬核.共有3w+字总结,建议收藏反复学习!适用于初学者学习或者熟练相关操作的人复习使用. 文章目录 HTML篇 一.HTML简介 1.什么是 ...

  3. web前端之html图片操作详解从零开始(三)----img标签

    <!DOCTYPE html> <html><head><title>Image.html</title><meta http-equ ...

  4. web前端-JavaScript中的数组详解

  5. web前端-表单的使用详解

  6. Web前端HTML+CSS全套(1~20)

    Web前端HTML+CSS全套(1~20) 拨云见日 CSS基础 切图流程 PC企业站布局 PC游戏站布局 溯本求源 HTML扩展 CSS扩展 HTMLS新语法 CSS3新语法 兼容与hack 风生水 ...

  7. python 录制web视频_Python django框架 web端视频加密的实例详解

    视频加密流程图: 后端获取保利威的视频播放授权token,提供接口api给前端 参考文档:http://dev.polyv.net/2019/videoproduct/v-api/v-api-play ...

  8. java web json_java web中对json的使用详解

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  9. canvas clear 指定属性的元素_好程序员web前端分享CSS属性组成及作用

    好程序员web前端分享CSS属性组成及作用 学习目标 1.css属性和属性值的定义 2.css文本属性 3.css列表属性 4.css背景属性 5.css边框属性 6.css浮动属性 一.css属性和 ...

  10. SAE上传web应用(包括使用数据库)教程详解及问题解惑

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://blog.csdn.net/baiyuliang2013/article/details/24725995 ...

最新文章

  1. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
  2. VS2008系统开发背景图片的添加及注意事项
  3. arm板telnetd为什么运行不了_一种基于ARM的嵌入式系统开发的方案详细讲解
  4. Nginx+Redis 搭建高性能缓存利器
  5. caffe+vs2013+window10+GPU(CPU)配置
  6. 《Python核心编程》第二版第209页第八章练习 -Python核心编程答案-自己做的-
  7. FCKeditor上传图片显示叉叉的问题的解决方案
  8. html怎么设置动画保持,html – 如何使用CSS3为td列可见性设置动画
  9. 跨部门的bug的沟通
  10. 279. 完全平方数
  11. Chrome去广告插件-Adblock Plus
  12. OPNsense - 多功能高可靠易使用的防火墙(五)
  13. 8.2 一些代数知识(群、循环群和子群)
  14. 压缩包文件解压找回密码
  15. 有关神经网络的训练算法,神经网络算法通俗解释
  16. 【Excel常用函数】VLookup函数使用教程,附视频教程
  17. 老男孩每日一题(一)
  18. html图片靠右浮动 文字左侧环绕,关于html:将图片浮动到右下角,文字环绕
  19. 2022-07-08 clickhouse架构概述
  20. gradient设置上下渐变_gradient(渐变)

热门文章

  1. 知网下载学位论文PDF版本的一个方法
  2. Log4Cpp 使用实例
  3. visual assist x vs2019番茄助手
  4. web网页设计实例作业 ——丝绸之路 (6页) 简单个人网页设计作业 静态HTML文化主题网页
  5. HTML+CSS技术实现网页滑动门效果
  6. 批处理Bat教程-第一章:前言
  7. 利用Eclipse的TaskList功能进行任务管理
  8. java实现MD5加密的三种方式
  9. window电脑通过composer安装yii2时总是失败
  10. windbg学习23(!peb和PEB结构)