@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. for 和 while 用于遍历时候的区别

    for: 以空格作为间隔符,输出字段. read: 以行作为间隔符,输出字段. 对于文件来说,如果只有一列,for  和  read 无区别, 多列的话, 有区别. read  用法详情: 见 如下转 ...

  2. Github搭建个人博客的总结

    1.  参考 这个 博客 : https://blog.csdn.net/xudailong_blog/article/details/78762262 2. 把上面按照的就安装,并把git 仓库克隆 ...

  3. spring中的ApplicationListener监听器

    监听器在使用过程中可以监听到某一事件的发生,进而对事件做出相应的处理. 首先自定义一个监听器myListener实现ApplicationListener接口 @Repository public c ...

  4. springboot datajpa 简明说明

    findById返回Optional的使用 查询 public Object lookupDevice(Integer id) { return deviceJpa.findById(id).orEl ...

  5. 小程序部分机型上一个诡异的偶现bug

    如上图所示:开始的时候进到下单页面,价格是0,当选中了商品产生价格的时候,生成的价格如 ¥150,这个时候会只露出¥1以及一小半的5,后面的都被遮挡住了. wxml里是这样的写的 <view w ...

  6. [CF261E]Maxim and Calculator_搜索_欧拉筛素数_动态规划

    Maxim and Calculator 题目链接:https://www.luogu.org/problem/CF261E 数据范围:略. 题解: 考试的时候只会暴力,学弟太强了$\%\%\% Or ...

  7. Netty的学习

    看了几天高并发和NIO 今晚终于要开始学习Netty http://ifeve.com/netty5-user-guide/ Netty实现通信的步骤 1.创建两个NIO线程组,一个专门用于网络事件的 ...

  8. StorageClass-动态PVC

    StorageClass 之前我们部署了PV 和 PVC 的使用方法,但是前面的 PV 都是静态的,什么意思?就是我要使用的一个 PVC 的话就必须手动去创建一个 PV,我们也说过这种方式在很大程度上 ...

  9. 怎样查看或修改网页的标题title

    网页的标题一般指的是 <title>标签之间的文本节点值, 它会显示在浏览器的标签页上, 我们可以通过 document.title 来查看或修改它: document.title; // ...

  10. where用法

    where 子句用于指定类型约束. 1.接口约束 public class MyGenericClass<T> where T:IComparable { }  2.基类约束: 指出某个类 ...