@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. HelloCube:IJobForEach

    此示例演示了基于作业的ECS系统,该系统可旋转一对立方体. 它显示了什么? 此示例基于ForEach示例构建,并说明如何在多线程作业中执行相同的工作,而不是在主线程上执行相同的工作. 与前面的示例一样 ...

  2. ASP.NET 拼多多用户登录授权后使用code去换取access_token

    一.拼多多开放平台 由于本人刚毕业进公司实习 遇到一些问题然后想通过博客来记录和分享给大家一起学习. 第一次写博客没什么经验不是写的很好 请大家多多关照 嘴下留情哈哈 谢谢! 好了 话不多说直接进入主 ...

  3. Linux 18.04 搭建lamp环境

    Linux 18.04 下搭建lamp环境 一.      安装服务器 a)     在配置好sources.list文件后,apt-get updata&upgrade更新软件: 二.    ...

  4. noi openjudge7627:鸡蛋的硬度

    http://noi.openjudge.cn/ch0206/7627/ 描述 最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛.参赛者是来自世界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是 ...

  5. 自己对flash memory的总结

    1.综述类文章 1.A Survey of Storage Management in Flash based Data 2.Understanding the Flash Translation L ...

  6. segi日期计算笔记

    计算月末最后一天 /* * 输入年月格式YM(如:201911),输入该月最后一天 */ int monthEndDay(int YM) { int endDay; ; ; == M) { == Y ...

  7. Eureka【支持Remote Region】

    工程公共pom依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncod ...

  8. Codeforces Round #590 (Div. 3)补题

    要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...

  9. ASP.NET跨平台、分布式技术架构技术栈概览 (迄今为止最全的.NET技术栈)

    今天有个学技术的小兄弟问我,现在这么多的技术我要学哪个?我说你根据岗位来学,学好了哪一门都可以在社会上立足,如今已经早已不是我们当年学习IT时候那么单纯了,给他讲了很多,发现现在的技术栈变得层次复杂且 ...

  10. python基础知识0-1

    绝对值:abs age = -19 age.__abs__() 19 相加: add age.__add__() 与运算:and age.__add__() 比较两个数大小:cmp age._cmp_ ...