在 Nuxt 项目中自定义 bootstrap-vue

Posted

技术标签:

【中文标题】在 Nuxt 项目中自定义 bootstrap-vue【英文标题】:Customize boostrap-vue in a Nuxt project 【发布时间】:2018-10-25 14:33:08 【问题描述】:

我有一个 nuxt 项目,我在其中使用 bootstrap-vue 作为模块来设置组件样式。

我对默认样式不满意,我想添加一些自定义,更准确地说,我想更改 导航栏 的外观并添加一些动画到切换按钮。

我应该如何访问和更改我的 nuxt 项目中的 bootstrap css 文件?

谁有例子可以分享?

【问题讨论】:

最好的办法是创建css来覆盖bootstrap。 有什么方法可以访问 bootstrap-vue css 文件,以便直接更改 css 属性? 你想直接改谁?根据经验,由于副作用,这会带来很多麻烦。 我假设多个代码会一团糟,但你是对的,最好的方法是创建 css 来覆盖引导程序。 只需创建名称为 bootstrap-custom 和 @import 的 CSS ;) 简单而更好 【参考方案1】:

首先你应该把你的 nuxt.config.js 改成

  bootstrapVue: 
    bootstrapCSS: false,
    bootstrapVueCSS: false
+  ,

并添加

css: ['~/assets/styles/bootstrap-custom.scss']

给它

之后在 bootstrap-custom.scss 中定义你在 bootstap css 之上的样式,如下所示:

@import "base/vars";

$primary:       $fc-blue ;
$secondary:     #ffffff ;
$light:         #f1f1f1 ;
$dark:          $fc-black-gray ;

//then bootstrap & bootstrap-vue should be added after
//so that they inherit the custom SCSS variables
@import 'bootstrap/scss/bootstrap.scss';
@import 'bootstrap-vue/src/index.scss';

【讨论】:

【参考方案2】:

由 bootstrap V4.3 SCSS 控制的许多样式可以通过设置 SCSS 变量然后编译 Bootstrap + BootstrapVue SCSS 来修改(主题化)。

如上面的 cmets 所述,您还可以创建自定义样式/类并将这些类应用到您想要更改的组件。

查看主题文档https://bootstrap-vue.js.org/docs/reference/theming

【讨论】:

以上是关于在 Nuxt 项目中自定义 bootstrap-vue的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NavigationView 中自定义项目背景和项目文本颜色?

怎样在JavaWeb项目中自定义一个配置文件。

项目中自定义返回任意数据或者消息

SpringBoot项目中自定义注解的使用

我需要根据我的项目要求在 couchdb 中自定义 index.html 中的开源沙发应用程序。请帮助我

如何在 Django 中自定义单选按钮