@font-face 允许网页中使用自定义的字体,这些自定义的字体被放置在服务器上,从而让网页摆脱对访问者计算机上字体环境的依赖。

简单的说,有了@font-face,只需将字体上传到服务器端,无论访问者计算机上是否安装该字体,网页都能够正确的显示。

@font-face 的语法规则如下,

@font-face {
  font-family: <fontName>;
  src: <source> [<format>];
  font-style: <style>;
  font-weight: <weight>;
}

font-family 属性用来指定字体的名称 (必须)。

source 属性用来指定字体文件的存放路径,可以是相对路径或绝对路径 (必须)。

formart 属性用来指定字体的格式,支持 ttf,otf,wotf,eot,svg 等格式 (可选)。

font-style 属性用来指定字体风格,比如斜体 oblique 或 italic,默认为 normal (可选)。

font-weight 属性用来指定字体的粗细,比如 bold, 默认为 normal (可选)。

举例如下:

我要让网站使用统一字体 Cantarell,则先下载好该字体的四种版本:Regular,Bold,Oblique,BoldOblique,并将它们放在当前 css 文件的上一级目录的 font 子目录下 (即 ../font),然后在 css 文件中设置如下,

/* User Defined Font */
@font-face {
font-family: 'myfont';
src: url("../font/Cantarell-Regular-gloden.otf");
}
@font-face {
font-family: 'myfont-bold';
src: url("../font/Cantarell-Bold-gloden.otf");
font-weight: bold;
}
@font-face {
font-family: 'myfont-oblique';
src: url("../font/Cantarell-Oblique-golden.otf");
font-style: oblique;
}
@font-face {
font-family: 'myfont-bold-oblique';
src: url("../font/Cantarell-BoldOblique-golden.otf");
font-weight: bold;
font-style: oblique;
}

使用时,可以对大部分元素设置一个公共字体,例如,

body, button, input, select, textarea {
font-family: 'myfont';
}

然后对个别元素,设置其他字体,例如,

.header-box > ul.lf > li > a {
/* font-weight: bolder; */
font-family: 'myfont-bold';
}

对于默认有粗体的元素,例如 h1, h2, 等,需要明确指定使用自定义粗体,例如,

h1, h2, h3, h4 {
font-family: 'myfont-bold';
}

===========================================================

本文大部分内容来自于网友博客:https://blog.csdn.net/ixygj197875/article/details/79323554

@font-face 的基本语法规则可参考:https://www.runoob.com/cssref/css3-pr-font-face-rule.html

CSS 中用户自定义字体 @font-face的更多相关文章

  1. css中的字体样式及元素样式

    css中的字体样式一般包含有就9中,常见的有7种.这7种依次为: 1.字体样式:font-family: 2.字体大小:font-size: 3.字体加粗:font-weight: 4.字体斜体:fo ...

  2. css中的字体及文本相关属性

    css中的字体及文本相关属性 1.字体相关属性 字体主要可以设置color.font-family.font-size.font-size-adjust.font-stretch.font-style ...

  3. 关于CSS中的字体尺寸设置 em rem等

    常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的 ...

  4. CSS 中的字体兼容写法:用CSS为英文和中文字体分别设置不同的字体

    font-family的调用方法: font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px/.75em ...

  5. 关于CSS中的字体尺寸设置 em rem

    常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的 ...

  6. CSS中的字体属性和文本属性

    1.CSS字体的属性 font 简写,作用是把所有的针对字体的属性设置在一个声明中 font-family 设置字体系列 font-size 设置字体尺寸 font-style 设置字体风格,ital ...

  7. 关于css中的字体样式

    1.决定字体的属性 color:字体颜色  属性值:单词,十六进制表示,rgb 2.字体大小 font-size:12px:属性值是整数字,不要带小数,单位是px叫做像素单位:凡是由像素拼成的图片我们 ...

  8. CSS中设置字体样式

    <style type="text/css"> body{ font-family: SimHei,"微软雅黑",sans-serif; } < ...

  9. css中 中文字体(font-family)的标准英文名称

    Mac OS的一些: 华文细黑:STHeiti Light [STXihei] 华文黑体:STHeiti 华文楷体:STKaiti 华文宋体:STSong 华文仿宋:STFangsong 儷黑 Pro ...

随机推荐

  1. centos7:ssh免密登陆设置

    1.使用root用户登录,进入到目录/root/.ssh 2.执行命令:ssh-keygen -t rsa 一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub ...

  2. ArcMap 制作广州 18 级地图切片需要多少时间?

    制作地图切片包会随着级别的上升,瓦片数量会指数级地上升,所需的计算时间也是指数级的. 但是 ArcMap 并不会提示时间信息,只有一个圈没完没了地转... 就在这无聊地等待中,我写了这篇帖子. 电脑配 ...

  3. Python获取 东方财富 7x24小时全球快讯

    本文使用的IDE为PyCharm. 1.第三方库 (1)selenium selenium用来做浏览器自动化,因为这部分信息是动态加载的,不用这种方法读取不到相关数据. 安装: pip3 instal ...

  4. thinkPHP5 命名空间别名

    命名空间别名 对比 use app\index\model\User; 和 use model\User; 关键:\think\Loader::addNamespaceAlias('model','a ...

  5. 如何创建spring web 工程(maven工程)

    1.在项目资源管理器右键,New-Spring Starter Project 2.设置一些参数 3.点击Next,然后勾选两个选项 4.点击finish

  6. MemCache可视化客户端管理及监控工具TreeNMS

    参考地址:https://www.cnblogs.com/li150dan/p/9529054.html

  7. 冲刺Noip2017模拟赛6 解题报告——五十岚芒果酱

    1.ksum(ksum) [问题描述] Peter喜欢玩数组.NOIP这天,他从Jason手里得到了大小为n的一个正整数 数组. Peter求出了这个数组的所有子段和,并将这n(n+)/2个数降序排序 ...

  8. Docker pull php:7.1-fpm的php.ini配置修改

    今天,换了 Deepin 操作系统,开发环境是通过 Docker 搭建的,具体结构如下: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e ...

  9. ubuntu合上笔记本盖子不断网

      原理: 修改systemd-logind服务参数.   做法: 编辑下列文件:sudo gedit /etc/systemd/logind.conf 找到HandleLidSwitch项,并将此项 ...

  10. JavaWeb开发常用的前端控件

    罗列的下述控件大多依赖jquery插件,故可提前导入jquery插件以免出错 Validform 提供对表单的验证.提交等功能,具体可查阅其官方文档>>>Validform 示例如下 ...