首页 > 其他分享 >前端 - 前端项目引入外部字体

前端 - 前端项目引入外部字体

时间:2023-12-22 15:14:47浏览次数:31  
标签:文件 Bold 前端 字体 引入 font ttf

最近前端小朋友又遇到了一个问题,就是很多时候UI设计师设计出来的效果图都包含一些特殊字体,而众所周知,显示字体的前提条件是安装字体,可我们怎么能保证用户每个人本地都安装了我们需要的字体呢?

答案是把字体文件放到前端项目中。我以当前遇到的字体为例说明一下步骤。

注意:我们因为是写Demo,所以不需要注意版权问题。在实际开发中一定要注意字体商用授权问题,不然会被告。

首先下载字体文件,我是在这个网站下载的:

https://www.fontke.com/font/list/2147/

然后把下载到的ttf文件放到项目中:

 之后找到你的全局css文件,加入如下代码:

/* 自定义字体引入 */
@font-face {
  font-family: DS-Digital-Bold;
  src: url(fonts/DS-Digital-Bold.ttf) format("truetype");
}

上述代码中我改动了两处,

一处是下载下来的ttf文件名中包含空格,我把空格改成了连接线“-”。

另一处就是src的字体文件引用路径,这个路径需要根据你自己放文件的地址自行修改。

到这里这个字体就已经引入到你的前端项目当中了,在之后的代码里就可以用如下代码来使用新引入的字体了:

font-family: DS-Digital-Bold, serif;

在这里又引出一个知识点 ,就是font-family最后一个属性serif。

Serif的意思是,在字的笔划开始及结束的地方有额外的装饰,而且笔划的粗细会因直横的不同而有不同。

相反的,Sans Serif则没有这些额外的装饰,笔划粗细大致差不多。如下图:

 最后添加一个这个的意思就是,如果自定义字体失效的话,就使用系统默认的serif字体。

 

标签:文件,Bold,前端,字体,引入,font,ttf
From: https://www.cnblogs.com/smile-fanyin/p/17921616.html

相关文章

  • 使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的
    在前面随笔《在Winform应用中增加通用的业务编码规则生成》,我介绍了基于Winform和WPF的一个通用的业务编码规则的管理功能,本篇随笔介绍基于后端WebAPI接口,实现快速的Vue3+ElementPlus前端界面的开发整合,同样是基于代码生成工具实现快速的前端代码的生成处理。1、通用的业务编码......
  • 前端 vue项目启动报错 spawn cmd ENOENT 的原因以及解决方案
    前端项目启动到一半的时候卡在跳转浏览器出现了这个问题 那么问题大概率就是你环境刚配置或者配置错了的问题,这个时候只需要找到我的电脑=>属性=>高级系统设置=>环境变量=>系统变量=>PATH环境=>双击进去=>添加环境变量=> 添加这俩个 C:\Windows\System......
  • 前端 JS 安全对抗原理与实践
    作者:vivo互联网安全团队-LuoBingsong前端代码都是公开的,为了提高代码的破解成本、保证JS代码里的一些重要逻辑不被居心叵测的人利用,需要使用一些加密和混淆的防护手段。一、概念解析1.1什么是接口加密如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体,如果......
  • Uniapp开发:HBuilder开发工具从Git引入的项目文件修改后不区分显示标识的问题
    一、问题如下使用的HBuilderX版本:3.98Git插件已安装:项目结构如下:右击项目目录,在git命令中-》检查已修改,可以发现还是能检索到修改过的文件:文件是有修改过的,但是在上图中没有任何的修改标识,这些文件也没有添加到.gitignore配置中。......
  • 90%的面试问题(前端)
    1.什么是MVVM,MVC模型MVC框架(Model-View-Controller,模型-视图-控制器):Model(模型):代表数据和业务逻辑,负责数据的存储和处理。View(视图):是用户界面的表示,通常是UI元素,例如网页、图形用户界面等。Controller(控制器):是Model和View之间的协调者,负责处理用户输入、更新Model和......
  • 前端导出export2Excel-多级表头
    1,export2Excel.js/*eslint-disable*///import{saveAs}from"file-saver";constsaveAs=require("file-saver");//importXLSXfrom"xlsx";importXLSXfrom"yxg-xlsx-style";importmomentfrom"moment&qu......
  • vue3+vite动态引入图片(import.meta.glob)
    Vite官方提供的 import.meta.glob API。这个方法一般用于批量引入js或者ts文件,但实际上这个方法就是很多import语句的集合而已,import是可以引入图片的,所以import.meta.glob也同样可以引入图片资源,只不过需要加入配置项as:'url'就可以了。 通常来说,我们可以用ES提供的......
  • Vue项目引入图片的两种场景和三种方式
    场景一:public目录下的图片public目录public目录下的图片引入方式:Bash<!--'/images/'+图片名称,这种属于绝对路径,/指向public目录--><imgsrc="/images/image.png"> 场景二:在src目录下的图片src目录 通过import引入图片Bash//第一步:import引入importerrG......
  • 【Python&目标识别】Yolo v5-7.0版本中文标签显示方法(附字体链接)
    ​    Yolo的程序之前已经定制化输出过了,但是最近业主突然想要中文的标签,所以赶紧去修改了一下源代码,从网上发现很多资料都改这改那,搞四五个文件结果还没成功。所以自己研究了一下,现在已经完美解决了。今天就和大家分享一下Yolov5-7.0版本的目标识别如何添加中文的标签......
  • 【前端VUE】VUE通信组件学习(附源代码)
    propsprops可以实现父子组件通信,不管是在vue2或者vue3,props数据还是只读的!!!不能直接修改其值;在vue3中,我们可以通过defineProps获取父组件传递的数据,且在组建内部不需要引入defineProps方法可以直接使用,如下面例子Parent.vue//父组件<template><h3>props组件案例</h3......