NUXTJS + Vuetify - SCSS 中的颜色

Posted

技术标签:

【中文标题】NUXTJS + Vuetify - SCSS 中的颜色【英文标题】:NUXTJS + Vuetify - Colors in SCSS 【发布时间】:2020-07-30 05:08:00 【问题描述】:

我正在尝试从 nuxt.config.js 文件中获取颜色并将它们直接放入 variables.scss

目前我的 variables.scss 看起来像这样

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

.button-blue 
    background-color: map-get($blue, darken-2) !important;
    color: map-get($blue-grey, lighten-5) !important;            

我想直接从 nuxt.config 分配颜色,或多或少这样:

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

.button-blue 
    background-color: primary!important;
    color: seconday !important;            

我的 nuxt.config.js

css: ['~/assets/variables.scss'],
vuetify: 
    customVariables: ['~/assets/variables.scss'],
    theme: 
      dark: false,
      themes: 
        light: 
          primary: colors.blue.darken2,
          secondary: colors.orange.darken1,
          tertiary: colors.green.darken1,
          accent: colors.shades.black,
          error: colors.red.accent3,
          info: colors.green.darken3,
          background: '#EAEBEE'
        ,
        dark: 
          primary: colors.blue.darken2,
          accent: colors.orange.darken3,
          secondary: colors.amber.darken3,
          info: colors.teal.lighten1,
          warning: colors.amber.base,
          error: colors.deepOrange.accent4,
          success: colors.green.accent3,
          background: colors.red.accent3
        
      
    
  

有什么建议吗?我正在使用 Vue + Vuetify + Nuxt

【问题讨论】:

【参考方案1】:

像这样:

.default-box-layout 
    padding: 15px;
    border: 1px solid var(--v-primary);
    background-color: var(--v-background);
    width: 100%;
    margin: 0;

【讨论】:

【参考方案2】:

来自文档:

启用 customProperties 还会为每种主题颜色生成一个 css 变量,然后您可以在组件的块中使用它。

所以,当你添加:

  theme: 
    options:  customProperties: true , // this line
  ,

到您的 Vuetify 配置中,变量将被注入到 css 根变量中。现在,您可以使用--v-primary-base 之类的东西,如下所示:

.button-blue 
    background-color: var(--v-primary-base);
    color: var(--v-secondary-base) !important;            

更多? 见https://vuetifyjs.com/en/features/theme/#custom-properties

【讨论】:

以上是关于NUXTJS + Vuetify - SCSS 中的颜色的主要内容,如果未能解决你的问题,请参考以下文章

Nuxtjs + Vuetify + Purgecss

如何在 nuxt js 中使用 vuetify 作为插件?

使用@nuxtjs/tailwindcss 清除了 SCSS 样式

NuxtJS & SASS Loader - 在生产环境中使用 sass-loader (SCSS) 构建

Nuxtjs - 图像可以从 HTML 加载,但不能从 css/scss 文件加载

安装 vuetify.js 时出现 scss 文件错误