我有一个带有Quasar CLI的Quasar应用程序,我想创建我自己的 colored颜色 ,当我使用亮/暗主题时,这些 colored颜色 会有所不同. 在我之前的项目中,我使用的是Vutify,只需编辑我的vuetify.js文件,并为我的明暗对象添加相同名称的 colored颜色 ,就可以轻松地做到这一点.

在类星体中,这似乎并不那么容易.到目前为止,我有一个quasar.variables.scss文件,我可以在其中使用.body--dark {}.body--light{}类为亮模式和暗模式指定不同的 colored颜色 .不幸的是,我只能覆盖标准 colored颜色 ,如原色、次要 colored颜色 、重音 colored颜色 等.我不能在这里添加新的 colored颜色 .

我目前拥有的:

.body--dark {
  --q-primary: #exampleColor;
  --q-secondary: #exampleColor;
  --q-accent: #exampleColor;
  --q-positive: #exampleColor;
  --q-negative: #exampleColor;
  --q-info: #exampleColor;
  --q-warning: #exampleColor;
  --q-dark-page : #exampleColor;
}

.body--light {
  --q-primary: #exampleColor;
  --q-secondary: #exampleColor;
  --q-accent: #exampleColor;
  --q-positive: #exampleColor;
  --q-negative: #exampleColor;
  --q-info: #exampleColor;
  --q-warning: #exampleColor;
}

我主要想要的是为这两个类添加新的 colored颜色 . 有没有人在这里有经验,或者能把我引向正确的方向?

推荐答案

所以我找到了解决方案的一部分.

只需添加以下内容即可向这两个类添加自定义 colored颜色

.body--dark {
 --q-yourCustomColor: #exampleColorDark
}

.body--light {
--q-yourCustomColor: #exampleColorLight
}

然后,您可以在VUE组件内的CSS中使用它们,如下所示:

.your-css-class {
background-color: var(--q-yourCustomColor)
}

必须使用--q-,否则将不起作用. 同样不起作用的是在类星体组件提供的属性中使用变量.因此,<q-btn color="--q-yourCustomColor">Button</q-btn>似乎仍然没有得到认可.解决方法是给按钮一个id或一个类,并给它一个背景色,就像我在示例中提供的那样.

Vue.js相关问答推荐

当props 的值改变时如何更新类'

如何默认打开一个v-list-group?

如何防止Nuxt3重新加载时滚动跳到网页顶部

在预渲染模式下部署 nuxt 3 时出错

超出最大调用堆栈大小 - Vue路由

如何为 Vue 应用提供 robots.txt

如何在不实例化根实例的情况下使用 vue 组件?

VueJS 组件中的图像未加载

如何告诉 Vue 应用使用 Firebase 模拟器?

为什么我在 vue.js 中得到避免使用 JavaScript 一元运算符作为属性名称?

Vue.js:从 parent父Vue 获取数据

在Vue.js中从父组件执行子方法

异步方法不等待函数

Vue3在按钮单击时以编程方式创建组件实例

更改事件上的 Select2 在 Vuejs 中不起作用

vuex - 即使不推荐,是否可以直接更改状态?

在 Vue.js 模板中调用函数

如何在 VeeValidate 中自定义错误信息(字段名称)?

vuejs 中缺少 webpack 配置

在 Vuejs 中全局导入 Axios 方法