原生/VUE 使用自定义字体

一、原生使用自定义字体

共两种,外链及内部声明

  • 首先下载字体包解压,创建文件夹放置字体相关文件
  • 可在使用页面直接声明引入使用(序号2.),也可以创建css文件通过外链引用(序号1.)
  • css文件内容,即@font-face{...}
  • 使用时的font-family,需要和@font-face中声明的font-family一致
xml 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1.通过外链引入字体 -->
    <!-- <link rel="stylesheet" href="./a.css"> -->
</head>
<style>
    /* 2.通过页面生命字体  */
    @font-face {
        /* 声明字体 */
        font-family: "阿里妈妈东方大楷 Regular";
        /* 引入字体文件,注意路径 */
        src: url("./font/AlimamaDongFangDaKai-Regular.ttf"),
        /* 使用自定义字体默认隐藏,swap:后备文本立即显示直到自定义字体加载完成后再使用自定义字体渲染文本。 */
        /* font-display: swap; */
    }
    div {
        font-size: 40px;
    }
    /* 使用字体,名字需要和@font-face中的font-family一致 */
    .app {
        font-family: "阿里妈妈东方大楷 Regular";
    }
</style>
<body>
    <div class="app">这是一段测试文字,用于测试CSS字体。</div>
    <div class="text">这是第二段测试文字,用于测试CSS字体。</div>
</body>
</html>

二、VUE使用自定义字体

页面声明方法与原生同理,不做过多演示,本次仅演示外部引入

  • 首先下载字体包解压,在assets中创建文件夹文件夹放置外部资源-字体相关文件
  • 创建css文件,声明要使用的字体
  • 声明的字体名字随意,但使用时必须对应声明的名字,css内容如下:
css 复制代码
/* css文件 */
@font-face {
    /* 声明字体 */
    font-family: "阿里妈妈东方大楷 Regular";
    /* 引入字体文件,注意路径 */
    src: url("./font/AlimamaDongFangDaKai-Regular.ttf"),
    /* 使用自定义字体默认隐藏,swap:后备文本立即显示直到自定义字体加载完成后再使用自定义字体渲染文本。 */
    /* font-display: swap; */
}
@font-face {
    /* 声明字体 */
    font-family: "le";
    /* 引入字体文件,注意路径 */
    src: url("./font1/DingTalk-JinBuTi.ttf"),
    /* 使用自定义字体默认隐藏,swap:后备文本立即显示直到自定义字体加载完成后再使用自定义字体渲染文本。 */
    /* font-display: swap; */
}
  • 页面通过import引入,对应使用外部字体
  • 注意引入方式路径及对应字体名字
xml 复制代码
<template>
  <div class="box">
    <div class="app">这是一段测试文字,用于测试CSS字体。</div>
    <div class="text">这是第二段测试文字,用于测试CSS字体。</div>
  </div>
</template>
<script setup>
import { ref, reactive, toRefs, watch, computed, defineProps } from "vue";
import { useRoute, useRouter } from "vue-router";
const route = useRoute();
const router = useRouter();
const data = reactive({});
// const { } = toRefs(data)
</script>
<style scoped lang="scss">
// 引入css文件
@import "../assets/a.css";
div {
  font-size: 40px;
}
/* 使用字体,名字需要和css文件@font-face中的font-family一致 */
.app {
  font-family: "阿里妈妈东方大楷 Regular";
}
.text {
  font-family: "le";
}
</style>
相关推荐
H尗5 分钟前
Vue3响应式系统的精妙设计:深入理解 depsLength 与 trackId 的协同艺术
前端·vue.js
昔人'13 分钟前
html`contenteditable`
前端·html
爱宇阳18 分钟前
npm 常用标签与使用技巧新手教程
前端·npm·node.js
@大迁世界23 分钟前
2025 年该选谁?npm vs yarn vs pnpm
前端·npm·node.js
crary,记忆24 分钟前
简介NPM 和 NPX
前端·学习·npm·node.js
wocwin25 分钟前
解决qiankun微前端Vue2+Element-ui主应用跳转到Vue3+Element-plus子应用样式冲突问题
vue.js
JianZhen✓41 分钟前
现在在本地开发了一些代码A,又有了新需求要紧急开发代码B需要只上线代码B的代码,如何更好的处理这种情况
前端
郝学胜-神的一滴1 小时前
Cesium绘制线:从基础到高级技巧
前端·javascript·程序人生·线性代数·算法·矩阵·图形渲染
蒙奇D索大2 小时前
【计算机网络】408计算机网络高分指南:物理层编码与调制技术精讲
java·前端·学习·计算机网络
无盐海2 小时前
CSRF漏洞攻击(跨站请求伪造攻击)
前端·csrf