[保姆级教程]uniapp设置字体引入字体格式

在这里插入图片描述

文章目录


在 UniApp 中设置和引入自定义字体(如 .ttf、.woff、.woff2 等格式)通常涉及几个步骤。

  1. 准备字体文件
    首先,你需要有字体文件。这些文件通常以 .ttf.woff.woff2 格式提供。确保有权使用这些字体,并遵守任何相关的许可协议。

  2. 将字体文件放入项目中
    将字体文件放入你的 UniApp 项目的 staticassets 文件夹中。通常推荐放在 static 文件夹中,因为 static 文件夹下的文件不会被 Webpack 处理,而是直接复制到最终的打包目录中。
    在这里插入图片描述

  3. 在 CSS 中引用字体
    在 CSS 文件中(可能是 App.vue<style> 部分或单独的 CSS 文件),使用 @font-face 规则来定义你的字体。例如:

   /* 假设字体文件名为 MyFont.woff,并放在 static/fonts 文件夹下 */
   @font-face {
     font-family: 'MyFont'; /* 你可以给字体起一个别名 */
     src: url('~@/static/fonts/MyFont.woff') format('woff'), /* 注意路径可能需要根据你的项目结构进行调整 */
          url('~@/static/fonts/MyFont.woff2') format('woff2'), /* 如果有 woff2 版本也可以加上 */
          url('~@/static/fonts/MyFont.ttf') format('truetype'); /* 还可以加上 ttf 格式作为备选 */
     font-weight: normal;
     font-style: normal;
   }

注意:~@/ 是 Vue CLI 项目中常用的别名,它指向 src 目录。但在 UniApp 中,可能需要直接使用相对路径或绝对路径。确保路径指向字体文件。

  1. 在样式中使用字体
    一旦定义了字体,就可以在 CSS 中使用它了。只需将 font-family 属性设置为定义的字体别名即可:
   .my-element {
     font-family: 'MyFont', sans-serif; /* 使用你定义的字体,并指定一个备选字体 */
   }
  1. 注意事项

    • 确保字体文件与你的应用兼容,并测试在不同的设备和浏览器上的表现。
    • 如果你的项目使用了构建工具(如 Webpack),可能需要配置以正确处理字体文件。但在 UniApp 中,这通常不是必需的,因为 UniApp 有自己的构建和打包流程。
    • 如果你在 H5 平台上使用自定义字体,并希望优化加载性能,可以考虑使用字体加载策略(如字体子集化或按需加载)。但请注意,这些策略可能不适用于所有平台或构建目标。
  2. 跨平台兼容性

    • UniApp 支持多个平台,包括 iOS、Android、H5、小程序等。虽然大多数现代浏览器和平台都支持 Web 字体,但最好还是在你的目标平台上测试自定义字体的表现。
    • 特别是对于小程序平台,由于平台的限制和差异,可能需要额外的步骤或配置来使用自定义字体。查阅 UniApp 的官方文档和相应平台的开发文档以获取更多信息。

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

### Vue3 集成 Cesium 详细教程 #### 创建 Vue3 项目 为了开始集成 Cesium 到 Vue3 项目中,首先需要创建一个新的 Vue3 项目。这可以通过全局安装 `@vue/cli` 并使用它来创建新项目完成。 ```bash npm install -g @vue/cli vue create cesium-learning ``` 填写项目的相关参数以适应需求[^3]。 #### 安装并配置 Cesium 一旦项目建立完毕,在项目根目录下打开命令提示符或终端窗口,并执行如下操作: - **安装 Cesium** ```bash npm install cesium --save ``` - **修改 webpack 配置** 由于 Cesium 是一个大型库,直接引入可能会遇到打包体积过大等问题。因此推荐通过 `vue.config.js` 文件调整 Webpack 的默认行为以便更好地支持 Cesium 资源加载。 编辑位于项目根文件夹下的 `vue.config.js` (如果不存在则新建),加入以下内容: ```javascript const path = require('path'); module.exports = { configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, 'src'), Cesium$: path.resolve(__dirname, './node_modules/cesium/Cesium') } }, module: { unknownContextCritical: false, rules: [ { test: /\.js$/, include: /node_modules\/cesium/, use: [{ loader: 'script-loader' }] }, { test: /\.(png|gif|jpg|jpeg|svg|xml|json)$/, loader: 'url-loader', options: { limit: 100000 } } ] } }, }; ``` 这段代码确保了 Cesium 及其依赖项可以被正确解析和处理[^2]。 #### 初始化 Cesium Viewer 组件 接下来可以在 src/components 下面创建名为 `CesiumViewer.vue` 的组件用于展示地球视图。 ```html <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium'; export default { name: 'CesiumViewer', mounted() { // 设置访问令牌 Cesium.Ion.defaultAccessToken = 'your_token_here'; // 替换成自己的 Token[^4] let viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider : Cesium.createWorldTerrain() }); } }; </script> <style scoped> #csmContainer { width: 100%; height: calc(100vh); margin: 0; padding: 0; overflow: hidden; } </style> ``` 注意替换 `'your_token_here'` 为实际获取到的 Ion Access Token[^1]。 #### 使用自定义组件 最后一步是在应用的主要布局或其他页面中导入刚刚创建好的 CesiumViewer 组件即可看到效果。 ```html <!-- App.vue --> <template> <div id="app"> <!-- ...其他 HTML 结构... --> <CesiumViewer /> </div> </template> <script> import CesiumViewer from '@/components/CesiumViewer'; export default { name: 'App', components: { CesiumViewer } }; </script> ``` 这样就完成了基本的 Vue3 和 Cesium 的集成工作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶糖 肥晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值