原生/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>
相关推荐
cyadyx1 小时前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell3 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_10 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
java1234_小锋11 小时前
Vue3专题 - 组件基础
vue.js·vite
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端
kyriewen12 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩13 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员