我正在使用Vue 3,Vuetify 3.0.0 (beta 0)和最新的Vue-CLI来完成一个项目。我正在尝试自定义vuetify字体,但是我在网上找到的覆盖vue sass变量的每一种方法都没有工作。
我所做的第一次尝试是在Vuetify网站上使用vuetify文档:https://next.vuetifyjs.com/en/features/sass-variables/。
使用默认项目,我按指示添加了一个styles
目录和variables.scss
文件。在variables.scss
文件中,我有以下内容:
$body-font-family: cursive;
深入研究Vuetify lib目录中的变量,它看起来像是我需要重写的变量(当我将使用自定义字体时,现在草书应该确保使用不同的En应当字体来验证它是否有效)。
这不起作用,我尝试将目录更改为scss
,得到了相同的结果(不导入),请参见下面的结果图像。
因此,我的第二次尝试是在文档中找到指向vue.config.js
文件的https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vuetify-loader#customising-variables文件。这导致我将我的vue.config.js
文件更改为:
const { defineConfig } = require("@vue/cli-service");
const { VuetifyLoaderPlugin } = require("vuetify-loader");
module.exports = defineConfig({
transpileDependencies: true,
configureWebpack: {
plugins: [new VuetifyLoaderPlugin({ styles: "expose" })],
},
pluginOptions: {
vuetify: {
// https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vuetify-loader
},
},
});
将一个main.scss文件添加到插件dir中,其内容如下:
// main.scss
$font: cursive !important;
@use 'vuetify/styles' with (
$color-pack: false,
$utilities: false,
$body-font-family: $font
);
这基本上删除了页面上的所有格式,但没有将文本更改为草书字体(见下图)。
在这一点上,我一直在网上搜索,却找不到任何有用的东西:
下面是使用我当前代码的git:https://github.com/dragonman117/Vuetify-Theme-Test
发布于 2022-06-23 01:06:38
我刚和这个搏斗了两个小时,终于弄明白了。偶然发现你的问题,我想我会扔给你一根骨头,即使这是3个月后。
目前的问题是为这一目的修改3份文档并不是最新的。在此之后,我将尝试更新公关中的文档。关键的缺失部分是Vuetify loader被用于Vuetify 2,而Vuetify 3使用的是新的wepback-plugin-vuetify。当我偶然发现vuetify装入器的“下一步”分支(见自述)时,我发现了这一点。
无论如何,这是您在使用Vue CLI安装时所需的全部内容。
vuetify.ts
import @/styles/variables.scss;
// the rest of your vuetify.ts file...
variables.scss
@use "vuetify/styles" with (
$body-font-family: "Comic Sans"
);
编辑:此外,我刚刚开始有问题,在我的字体家族中添加逗号后的“与”,所以我最后做了以下工作。这可能不是最好的SASSy解决方案,但充分考虑它们的语法,以便想出其他的atm:
variables.scss
$body-font-family: Inter, sans-serif;
@use "vuetify/styles" with (
$body-font-family: $body-font-family
);
希望这能有所帮助。祝好运。
发布于 2022-12-02 20:50:34
如果您想要覆盖默认的排版设置:
@use 'vuetify/settings' with (
$heading-font-family: Comic Sans,
$body-font-family: Comic Sans,
$typography: (
'h1': (
'size': 2rem,
'weight': 500,
'line-height': 2.2rem,
'letter-spacing': 0,
'font-family': Comic Sans,
'text-transform': none
),
),
),
https://stackoverflow.com/questions/71564313
复制相似问题