我只是将google字体嵌入到nuxt.config.js中的全局设置
link: [
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto' }
]
但是如何将此字体应用于每个页面。
答案 0 :(得分:13)
快速
在您的nuxt.config.js文件中
head: {
...
...
link: [
{
rel: 'icon',
type: 'image/x-icon',
href: '/favicon.ico'
},
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css?family=Lato:400,700'
}
]
}
并在您的layouts / default.vue或您使用的任何其他布局文件中添加样式标签
<style scoped>
#app {
font-family: 'Lato', sans-serif;
}
</style>
答案 1 :(得分:1)
像这样简单
转到Google字体并选择您的字体样式,例如Montserrat
转到nuxt.config.js
并添加您的字体URL,如下所示
export default { head: { meta: [], link: [ { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Montserrat&display=swap"'} ] }
转到您的default.vue
文件,如图所示在v-app tag
中添加类名
<v-app dark class="your_class_name"> --your app goes here -- </v-app>
在同一文件样式选项中,在您上面定义的类主体中添加以下行
<style>
.your_class_name{
font-family: 'Montserrat', sans-serif;
}
</style>
确保在v-app中定义了类,以使整个项目生效
答案 2 :(得分:1)
我尝试了很多方法来向 nuxt + vuetify 项目添加自定义字体,但没有一个能正常工作。
最后,我在 global.scss
文件夹文件中创建了一个 assets
并在 nuxt.config.js
中处理它:
css: ['~assets/global.scss'],
并在 global.scss
文件中:
@font-face {
font-family: 'my-custom-font';
src: local('my-custom-font'), url('path/to/font') format('truetype');
}
.v-application {
font-family: 'my-custom-font' !important;
}
// or
#app {
font-family: 'my-custom-font';
}
这工作正常。
答案 3 :(得分:0)
使用以下规则更新CSS:
body {
font-family: 'Roboto', sans-serif;
}
如果尚未设置CSS样式表,请在assets
目录中创建一个名为main.css
的新文件。在其内部,将代码放在上面并保存。然后编辑nuxt.config.js
,将这段代码添加到head
对象之后:
css: [
'@/assets/main.css'
],
答案 4 :(得分:0)
如果您想在应用程序中包含字体,以便为其提供服务
从以下位置下载字体:https://fonts.google.com/specimen/Roboto?selection.family=Roboto(打开抽屉并下载.zip
文件)。
./assets/fonts/*
中(如果不存在则创建它)。./assets/fonts/roboto.css
并将以下内容放入其中:/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
(您可以通过转到https://fonts.googleapis.com/css?family=Roboto找到此CSS)。
然后更改nuxt.config.js
,将CSS文件包含在css
属性中:
module.exports = {
/*
** Global CSS
*/
css: [
'~/assets/fonts/roboto.css'
]
}
然后将font-family: 'Roboto', sans-serif;
应用于文本元素。
在每个页面上使用字体
创建一个./assets/css/styles.css
文件,其中包含以下内容:
body
{
font-family: 'Roboto', sans-serif;
}
然后如上所述,将CSS文件包含在nuxt.config.js
中:
module.exports = {
css: [
'~/assets/fonts/roboto.css',
'~/assets/css/styles.css'
]
}
同样适用于其他资产,例如其他字体,图标,框架CSS等。
答案 5 :(得分:0)
您可以执行以下步骤: 1__将字体作为自定义变量定义在assests目录中的分隔文件中,例如,variables.scss,如下所示:
$body-font-family: Roboto;
@import '~vuetify/src/styles/styles.sass';
2__然后在nuxt.config.js中,应该在头部添加样式表链接,如下所示:
head: {
link: [
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Oswald|Libre+Baskerville&display=swap' }
]
},
3__,那么有必要在vuetify中启用树状交换并设置您的自定义变量,如下所示:
vuetify: {
customVariables: ['~/assets/variables.scss'],
treeShake: true
},