自定义字体
通常情况下,我们一般在设置字体的时候设置的是操作系统上的字体。如果用户的操作系统中没有该字体就会影响整个前端的一个用户体验。
在CSS3 中,新增了 自定义字体的内容,可以让我们自己定义一个字体,然后放到服务器上,这样尽管用户的操作系统中没有该字体,也会从服务器下载到指定的字体,不会影响用户体验。
文件结构如下
<style>
/* 使用 @font-face 来指定一个自定义的字体 */
@font-face {
font-family: "Custom font"; /* 起一个名字 */
src: url("fonts/Courier New.ttf"); /* 指定一下字体的位置 */
}
p {
font-family: "Custom font"; /* 为 p 元素设置这个自定义字体 */
font-size: 20px; /* 设置字体大小 */
}
</style>
<body>
<p>Hello, this text font is a custom font...</p>
</body>
运行结果
字体图标
使用字体图标可以在网页加载的时候被快速渲染出来,减少了图片的请求次数,减少网络负担。
字体图标的优缺点
优点
-
轻量性:一个图标字体比一系列的图像(特别是在Retina屏中使用双倍图像)要小。一旦图标字体加载了,图标就会马上渲染出来,不需要下载一个图像。可以减少HTTP请求,还可以配合HTML5离线存储做性能优化。
-
灵活性:图标字体可以用过font-size属性设置其任何大小,还可以加各种文字效果,包括颜色、Hover状态、透明度、阴影和翻转等效果。可以在任何背景下显示。使用位图的话,必须得为每个不同大小和不同效果的图像输出一个不同文件。
-
兼容性:网页字体支持所有现代浏览器,包括IE低版本。
缺点
-
图标字体只能被渲染成单色或者CSS3的渐变色,由于此限制使得它不能广泛使用。
-
使用版权上有限制,有好多字体是收费的。当然也有很多免费开源的精美字体图标供下载使用。
-
创作自已的字体图标很费时间,重构人员后期维护的成本偏高
制作字体图标的步骤
- 要有一套 svg 矢量图,没有的同