您在 NuxtJS 应用程序中加载具有不同字体粗细的 Google 字体时遇到困难。您为同一字体导入了多个不同粗细的链接,但仅应用了基本字体,导致缺乏所需的字体粗细自定义。
加载 Google 的推荐方法Nuxt 中的字体是为了避免使用 CDN,而是自行托管字体或通过页面源代理它们。要实现此目标,请考虑利用 @nuxtjs/google-fonts 模块,该模块为自托管 Google Fonts 提供了一个无障碍的解决方案。
<code class="javascript">export default { buildModules: [ [ '@nuxtjs/google-fonts', { families: { 'Saira Semi Condensed': { wght: [600, 800], }, }, subsets: ['latin'], display: 'swap', download: true, }, ], ], }</code>
此配置将下载“Saira Semi Condensed”字体系列的 600 和 800 字体粗细,并使其可在应用程序中使用。
一旦字体下载后,您可以使用 @font-face 规则在 CSS 中引用它们。
<code class="css">@font-face { font-family: 'Saira Semi Condensed'; src: url('/fonts/SairaSemiCondensed-Regular.woff2') format('woff2'), url('/fonts/SairaSemiCondensed-Regular.woff') format('woff'), url('/fonts/SairaSemiCondensed-Regular.ttf') format('truetype'); font-weight: 600; font-style: normal; } @font-face { font-family: 'Saira Semi Condensed'; src: url('/fonts/SairaSemiCondensed-Bold.woff2') format('woff2'), url('/fonts/SairaSemiCondensed-Bold.woff') format('woff'), url('/fonts/SairaSemiCondensed-Bold.ttf') format('truetype'); font-weight: 800; font-style: normal; }</code>
将 /fonts 替换为下载字体文件的目录。
在 Vue 组件中,您可以设置 font-family 和 font-weight 属性来应用所需的字体:
<code class="html"><template> <h1 style="font-family: 'Saira Semi Condensed', sans-serif; font-weight: 600;">I am Component A</h1> </template></code>
<code class="html"><template> <h1 style="font-family: 'Saira Semi Condensed', sans-serif; font-weight: 800;">I am Component B</h1> </template></code>
按照以下步骤,您可以高效地加载和使用在您的 NuxtJS 应用程序中自定义具有不同字体粗细的 Google 字体。
以上是如何在 NuxtJS 中高效加载不同粗细的 Google 字体?的详细内容。更多信息请关注PHP中文网其他相关文章!