首页 文章

在angular2组件样式表中覆盖Bootstrap中的样式

提问于
浏览
4

我有一个angular2应用程序构建与angular-cli包含几个组件 . 每个组件都有一个引用的stylsheed(scss) .

这些样式表中的独特样式正确应用于组件模板 .

我不能做的是从外部css中覆盖样式,这些样式包含在来自那些组件样式表的angular-cli中 .

一旦我将样式移动到中央styles.scss就可以了 .

我的angular-cli.json看起来像这样:

"styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.css",
    "../node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.css",
    "../node_modules/bootstrap-timepicker/css/bootstrap-timepicker.css",
    "styles.scss"
  ],

任何想法如何覆盖component.scss中的bootstrap-css?

1 回答

  • 7

    我也发布了这个问题作为angular-cli项目的一个可能的错误,得到了我需要的提示:

    模拟视图封装(默认)通过预处理(和重命名)CSS代码来模拟Shadow DOM的行为,从而有效地将CSS范围限定在组件的视图中 . 如果这些类被重命名为这种行为,它不能工作,我不能覆盖ie的样式 . 引导 .

    如果我现在将组件中的封装设置为none,它可以工作,我可以覆盖component.scss中的样式 .

    @Component({
        selector: 'app-generic-view',
        templateUrl: './generic-view.component.html',
        styleUrls: ['./generic-view.component.scss'],
        encapsulation: ViewEncapsulation.None
    })
    

相关问题