原生/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>
相关推荐
一 乐1 天前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
前端snow1 天前
ai agent --- postgreSQL 关系型数据库
前端
卷无止境1 天前
ECharts:把数据变成故事的可视化利器
前端
Eric_见嘉1 天前
在职前端 Skill 和 MCP 分享
前端·后端·agent
liangshanbo12151 天前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js
wengad1 天前
从 wangEditor 迁到 wangEditor-next
前端·javascript·vue.js
行者-全栈开发1 天前
【前端/JS框架】CVE-2026-3854:GitHub Enterprise Server X-Stat注入XSS漏洞深度剖析与紧急修复指南
前端·javascript·github
计算机魔术师1 天前
AMD砸82亿买下李飞飞,这次不卖芯片卖什么?
前端
hzxpaipai1 天前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络
怕浪猫1 天前
2026年金九银十,我面了22个前端
前端·javascript·面试