@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. 数据质量、特征分析及一些MATLAB函数

    MATLAB数据分析工具箱 MATLAB工具箱主要含有的类别有: 数学类.统计与优化类.信号处理与通信类.控制系统设计与分析类.图像处理类.测试与测量类.计算金融类.计算生物类.并行计算类.数据库访问 ...

  2. webdriervAPI(获取验证信息)

    from  selenium  import  webdriver driver  =  webdriver.Chorme() driver.get("http://www.baidu.co ...

  3. Fabric1.4 背书策略 .yam文件

    { identities: [ // 以下几项自动编号为[0,1,2] { role: { name: "member", mspId: "peerOrg1" ...

  4. c++学习笔记_2

    前言:本笔记所对应的课程为中国大学mooc中北京大学的程序设计与算法(三)C++面向对象程序设计,主要供自己复习使用,且本笔记建立在会使用c和java的基础上,只针对与c和java的不同来写 第二章 ...

  5. 最新 华云数据java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.华云数据等10家互联网公司的校招Offer,因为某些自身原因最终选择了华云数据.6.7月主要是做系统复习.项目复盘.Leet ...

  6. [转帖]Linux-Windows 端口转发 netsh 还有 rinetd

    Linux-Windows 端口转发 https://www.cnblogs.com/operationhome/p/11284559.html 之前自己学习过 netsh 也曾经用过frp 这次学习 ...

  7. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  8. centos7 安装jmeter5.1

    前提条件:安装了jdk1.8.因为jmeter5.1需要的环境就是jdk1.8,官网有写的. 1.下载jmeter5.1的安装包 下载地址:https://jmeter.apache.org/down ...

  9. 用java转换文件的字符集

    中文乱码真的是让人很头疼问题,有了这个方法应该能缓解这种头疼,用的是递归方式查找文件,直接在原文件中修改,小心使用(在本地测试效果有点诡异呀,没有达到预期效果). package com.hy.uti ...

  10. (二十二)自定义简化版JDBC(Dbutils框架的设计思想)

    目录 元数据概念 DataBaseMetaData ParameterMetaData ResultSetMetaData 编写简化版的JDBC O-R Mapping 概念 自定义简化版JDBC 元 ...