当前位置: 首页 > news >正文

怎么在本地引入字体

在前端项目中引入阿里巴巴普惠体的步骤如下:

1. 准备字体文件

  1. 将阿里巴巴普惠体的字体文件(如 .ttf.woff.woff2 格式)放入项目的 src/assets/fonts 目录(若没有 fonts 文件夹,手动创建):
    src/
    └── assets/└── fonts/├── AlibabaPuHuiTi-Regular.woff2  # 推荐优先使用woff2格式(体积小、加载快)├── AlibabaPuHuiTi-Regular.woff└── AlibabaPuHuiTi-Regular.ttf
    

    提示:阿里巴巴普惠体有多个字重(如常规、粗体),如需多字重,按上述方式放入对应文件即可。

2. 定义字体样式

在全局样式目录 src/assets/styles 中,创建或修改 font.css(或 index.scss),添加字体声明:

/* src/assets/styles/font.css *//* 阿里巴巴普惠体 - 常规 */
@font-face {font-family: 'AlibabaPuHuiTi';src: url('../fonts/AlibabaPuHuiTi-Regular.woff2') format('woff2'),url('../fonts/AlibabaPuHuiTi-Regular.woff') format('woff'),url('../fonts/AlibabaPuHuiTi-Regular.ttf') format('truetype');font-weight: 400; /* 常规字重 */font-style: normal;font-display: swap; /* 优化字体加载体验,避免闪烁 */
}/* 如需粗体,添加以下声明(可选) */
@font-face {font-family: 'AlibabaPuHuiTi';src: url('../fonts/AlibabaPuHuiTi-Bold.woff2') format('woff2'),url('../fonts/AlibabaPuHuiTi-Bold.woff') format('woff'),url('../fonts/AlibabaPuHuiTi-Bold.ttf') format('truetype');font-weight: 700; /* 粗体字重 */font-style: normal;font-display: swap;
}

3. 全局引入字体样式

在入口文件 src/main.js 中引入上述字体样式,确保全项目可用:

// src/main.js
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'// 引入全局样式
import '@/assets/styles/index.scss'
import '@/assets/styles/font.css'   // 引入字体样式// ...其他初始化代码
Vue.config.productionTip = falsenew Vue({el: '#app',router,store,render: h => h(App)
})

4. 使用字体

方式 1:局部使用(在组件中)

在需要的 Vue 组件样式中直接使用:

<template><div class="custom-title">使用阿里巴巴普惠体的标题</div>
</template><style scoped>
.custom-title {font-family: 'AlibabaPuHuiTi', sans-serif; /* 优先使用自定义字体,sans-serif作为降级备选 */font-weight: 400; /* 常规字重 */font-size: 18px;
}.bold-text {font-family: 'AlibabaPuHuiTi', sans-serif;font-weight: 700; /* 粗体(需提前引入对应字重的字体文件) */
}
</style>
方式 2:全局使用(替换项目默认字体)

若希望全项目使用该字体,在全局样式 src/assets/styles/index.scss 中设置:

/* src/assets/styles/index.scss */
body {font-family: 'AlibabaPuHuiTi', sans-serif; /* 覆盖默认字体 */
}/* 若依的标题样式覆盖 */
h1, h2, h3, h4, h5, h6, .title {font-family: 'AlibabaPuHuiTi', sans-serif;
}

注意事项

  1. 路径正确性
    @ 符号默认指向 src 目录,字体文件路径需正确(如 ../fonts/xxx 是从 styles 目录到 fonts 目录的相对路径)。

  2. 构建兼容性
    使用 webpack 构建,已默认配置 url-loader 处理字体文件,无需额外配置,直接引入即可。

  3. 版权说明
    阿里巴巴普惠体可免费用于商业和非商业场景,但建议遵守官方版权要求。

  4. 字体加载优化
    优先保留 .woff2 格式(体积最小),其他格式作为兼容备选,减少加载时间。

完成后重启项目(npm run dev),字体即可生效。

http://www.dtcms.com/a/318995.html

相关文章:

  • 构建在 OpenTelemetry eBPF 基础之上:详解 Grafana Beyla 2.5 新特性
  • 防火墙环境下的全网服务器数据自动化备份平台搭建:基于 rsync 的完整实施指南
  • CentOS 7 下通过 Anaconda3 运行llm大模型、deepseek大模型的完整指南
  • Express框架
  • 【JavaEE】(9) JVM
  • ElementUI之表格
  • 企业家 IP 发展态势剖析|创客匠人
  • 计算机网络1-5:计算机网络的性能指标
  • 【python 数据加密AES-GCM + 时间戳签名方案(带时间校验)】
  • vue3 el-select 加载触发
  • tcpdump问题记录
  • 软件运行时 ffmpeg.dll 丢失怎么办?从原因排查到完美修复的完整方案
  • 【Kafka系列】第二篇| Kafka 的核心概念、架构设计、底层原理
  • 什么是 TcpCommunicationSpi
  • HTML已死,HTML万岁——重新思考DOM的底层设计理念
  • 【音视频】WebRTC C++ native 编译
  • SpringAI动态调整大模型平台
  • 数据结构----栈和队列认识
  • Spring IoC 容器核心流程(面试必懂)
  • SpringMvc的原理深度剖析及源码解读
  • crew AI笔记[1] - 简介
  • list类
  • Spring中用到了哪些设计模式
  • 容器之王--Docker镜像的管理及镜像仓库的构建演练
  • W25Q64模块
  • 智慧园区系统:打造未来城市生活新体验
  • 从周末去哪儿玩到决策树:机器学习算法的生活启示
  • 机试备考笔记 7/31
  • 【数据结构】排序(sort) -- 交换排序(冒泡快排)
  • 接入免费的数字人API接口详细教程!!!——小甲鱼数字人