原生/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>
相关推荐
中国lanwp11 小时前
npm中@your-company:registry 和 registry 的区别
前端·npm·node.js
Bacon11 小时前
Electron 应用商店:开箱即用工具集成方案
前端·github
行走的陀螺仪11 小时前
uni-app + Vue3 实现折叠文本(超出省略 + 展开收起)
前端·javascript·css·uni-app·vue3
冴羽11 小时前
JavaScript 异步循环踩坑指南
前端·javascript·node.js
jump68011 小时前
commonjs 和 ES Module
前端
旧曲重听111 小时前
前端需要掌握多少Node.js?
前端·node.js
Mr.Jessy11 小时前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
云枫晖11 小时前
前端工程化实战:手把手教你构建项目脚手架
前端·前端工程化
醉方休11 小时前
开发一个完整的Electron应用程序
前端·javascript·electron
故作春风11 小时前
手把手实现一个前端 AI 编程助手:从 MCP 思想到 VS Code 插件实战
前端·人工智能