如何在React项目中引入字体文件并使用详解

目录
  • 前言
  • 下面讲下如何引入字体文件并使用
    • 一、下载字体包
    • 二、将字体文件放到项目里
    • 三、使用新字体
  • 总结

前言

在做React项目的时候,发现UI设计给出的设计稿里,某些文字所用的字体,系统默认不支持。比如设计需要的这个字体:EmerlandRegular,即使在css里将文字字体设置为他们,实际效果也显示不出来。

            <Typography
              style={{
                fontSize:'22px',
                fontFamily:'EmerlandRegular',
                textAlign:'center',
                color:'#3A3A3A',
                marginTop: '10px',
              }}
            >
              This teacher is good
            </Typography>

期待效果:

实际效果:

实际上是因为这个字体不在系统的预置字体库里,所以找不到,就显示了默认的字体样式。要想达到期待的字体效果,需要把字体文件引入项目才行。

下面讲下如何引入字体文件并使用

一、下载字体包

这一步就不多说了,字体包从网上找,或者让UI设计师提供给你。

下载好的字体包一般是个压缩包,打开后有多个字体文件,如图:

这么多字体文件,哪个是我们需要的呢,看文件名,分为两种,带italic的和不带的,显然带italic的就是斜体字文件,而不带italic的就是我们想要的正常字体文件。但是后缀又有otf, ttf, woff几种,选哪个呢,其实这几种都是文件格式有区别,显示出来一般是没什么区别的,就跟word文档也可以存为好几种文档后缀一样,可以随意选一种先看看。这里我们使用 Emerland.ttf文件。

二、将字体文件放到项目里

1.在项目public文件夹下新建一个fonts文件夹,用于存放字体,然后将字体文件复制到这个文件夹下。

2.在public下新建一个font.css,文件内容里加上对新引入的字体的定义:

@font-face {
  font-family: EmerlandRegular;
  src: url('./fonts/Emerland.ttf');
}

这就声明了一种新字体,字体名叫EmerlandRegular,字体文件的路径就是src指定的路径。

上面这两步如图:

3.修改index.html文件,添加这一行:

    <link rel="stylesheet" href="%PUBLIC_URL%/font.css" rel="external nofollow" > 

添加位置如图:

这样,就成功的把字体文件引入项目了。

三、使用新字体

因为我们在font.css里给新字体起的名叫EmerlandRegular,所以在使用的时候,就像以前那样,给需要的文字设置fontFamily为"EmerlandRegular"即可。

fontFamily:'EmerlandRegular'

运行即可看到字体效果已经成功显示了。

总结

到此这篇关于如何在React项目中引入字体文件并使用的文章就介绍到这了,更多相关React项目引入字体文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何在React项目中引入字体文件并使用详解

    目录 前言 下面讲下如何引入字体文件并使用 一.下载字体包 二.将字体文件放到项目里 三.使用新字体 总结 前言 在做React项目的时候,发现UI设计给出的设计稿里,某些文字所用的字体,系统默认不支持.比如设计需要的这个字体:EmerlandRegular,即使在css里将文字字体设置为他们,实际效果也显示不出来. <Typography style={{ fontSize:'22px', fontFamily:'EmerlandRegular', textAlign:'center', co

  • 在vue项目中引入highcharts图表的方法(详解)

    npm进行highchars的导入,导入完成后就可以进行highchars的可视化组件开发了 npm install highcharts --save 1.components目录下新建一个chart.vue组件 <template> <div class="x-bar"> <div :id="id" :option="option"></div> </div> </templa

  • 如何在Django项目中引入静态文件

    今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在project的settings文件中静态文件的路径,注意,这里的逗号千万不可省略,不然Django会报错的 3.在html文件就可以引入这个jquery文件了 二.下面我们学习下如何前台提交数据到后台 1.先在html文件中写一个form表单,用来提交数据,我们就提交db这个url中,用post的方式

  • 如何在Python项目中引入日志

    Logging模块的使用 简单使用 Logging 模块提供了一系列便利的函数 它们分别是 debug(), info(), warning(), error(), critical() import logging logging.debug('debug log test') logging.info('info log test') logging.warning('warning log test') logging.error('error log test') logging.cri

  • react 项目中引入图片的几种方式

    img标签引入图片 因为react其实是通过js的reader函数渲染的页面,所以直接写src="路径"是无法引入图片 我们可以像引入模块一样引入图片 import img from './../../../../asset/img/user.png' 需要用下面的方式引入 <img src={require('../images/picture.png')} alt="标签"/> 背景图片引入 1 第一种就是常规的 新建一个css文件,然后就可以直接写

  • 如何在React项目中使用AntDesign

    目录 0.前言 1.AntDesign是什么? 2.AntDesign如何使用? 3.如何具体使用AntDdesign的组件 3-1.如何使用 antd 的Table组件 3-2.如何使用 antd 的Button组件 4.后续 0.前言 我们在后台管理系统React项目开发中会有Table表格.Form表单.List列表.Button按钮等组件,这个时候我们可以使用AntDesign来减少开发中不必要的样式问题. 1.AntDesign是什么? Ant Design 是一个 UI 设计语言,是

  • 如何在React项目中优雅的使用对话框

    目录 背景 场景一 场景二 场景三 问题一:难以扩展 问题二:维护问题 问题的本质 对话框的本质 全局的状态管理的对话框 整体的架构 具体实现 Redux - reducer 存储 Redux - action 处理对话框的显示隐藏 Hook - useCommonModal 创建对话框-容器模块 对话框返回值处理 运行实例 总结 参考 背景 对话框在前端开发应用中,是一种非常常用的界面模式.对话框作为一个独立的窗口,常常被用于信息的展示,输入信息,亦或者更多其他功能.但是项目的使用过程中,在某

  • VUE项目中引入JS文件的方法总结

    目录 1.在index.html页面使用script标签引入 2.在main.js中使用window.moduleName 使用 3.手动添加export 4. 使用import方式,把需要的js库中的方法挂载到全局 补充:Vue3如何引用全局JS文件 总结 在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现: 1.在index.html页面使用script标签引入 当然也可以使用cdn的地址.这样引入后的内容是全局的,可以在所有地方使用. <!D

  • vue项目中使用tinymce编辑器的步骤详解

    Tinymce富文本也是一款很流行编辑器 把文件放在static下,然后在index.html文件中引入这个文件 <script src="static/tinymce/tinymce.min.js"></script> <tinymce :height=200 ref="editor" v-model="editForm.fdcNote"></tinymce> 在其他子文件中引入这个 import

  • jscpd统计项目中的代码重复度使用详解

    目录 前言 jscpd是什么 如何使用它 安装 示例 配置选项 输出报告 多个项目 规避代码检测 总结 前言 当一个项目开发时间较长以后,总会存在一些重复的代码,这就给维护和扩展带来障碍. 特别是我们的前端项目,多个项目中都存在一些较相似的功能,这部分之前不少采用复制粘贴的方式处理.于是为了优化前端项目的代码,最近我们考虑使用代码重复度来作为衡量指标,对单个或多个项目进行重复代码的统计,并着手重构可优化的重复代码. 而为了统计项目中是否有代码重复,我们使用了 jscpd 工具库,本文将详细介绍该

随机推荐