首页 > 解决方案 > 覆盖 Vuetify 2.0 sass 变量 $heading-font-family

问题描述

在 Vuetify 2.0.0-beta.0 中,我尝试覆盖默认变量 $heading-font-family。这是行不通的。但是我可以覆盖例如 $body-font-family、$font-size-root 或 $btn-border-radius。

我遵循了https://next.vuetifyjs.com/en/framework/theme的文档

我的 main.scss 看起来像这样:


// main.scss

@import '~vuetify/src/styles/styles.sass';

// The variables I want to modify
$font-size-root: 16px;
$body-font-family: Arial, sans-serif;
$heading-font-family: 'Open Sans', sans-serif;
$btn-border-radius: 8px;

我的 .vue 文件有一个带有这个 HTML 的模板:

// in my vue Template

...
<div class="hello">
  <h1 class="display-1">{{ msg }}</h1>
  <p>Lorem ipsum dolor sit amet...</p>
  <v-btn color="pink" dark>Click me</v-btn>
</div>
...

当我在控制台中检查 H1 时,我希望它有一个“Open Sans”字体系列,即 sans-serif。相反,我看到了“Roboto”,无衬线字体。这是 $body-font-family 在我的自定义 main.scss 中被覆盖之前的默认值

正如我所说,我的 main.scss 中的其他覆盖工作正常。我在这里做错了什么?

标签: cssvue.jssassvuetify.js

解决方案


我已经尝试了这里提供的所有解决方案,但没有任何效果。

遵循此https://vuetifyjs.com/en/customization/sass-variables的工作是什么

scsssrc(不是 /src/styles/scss/ 或任何其他变体)中创建一个目录。并在那里放置您的新变量值。

// /src/scss/variables.scss

$body-font-family: 'Less';
$heading-font-family: $body-font-family;

// Required for modifying core defaults
@import '~vuetify/src/styles/styles.sass';

推荐阅读