css - 在 angular2 组件样式表中覆盖来自 Bootstrap 的样式

标签 css angular twitter-bootstrap-3 sass angular-cli

我有一个 angular2 应用程序构建,其中包含多个组件的 angular-cli。每个组件都有一个引用的样式表 (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 吗?

最佳答案

我还将这个问题作为一个可能的错误发布到了 angular-cli 元素中,并得到了我需要的提示:

模拟 View 封装(默认)通过预处理(和重命名)CSS 代码来模拟 Shadow DOM 的行为,以有效地将 CSS 范围限定到组件的 View 。如果这些类因为这种行为而被重命名,它就无法工作,我也无法覆盖 ie 的样式。 Bootstrap 。

如果我现在将组件中的封装设置为无,它会起作用并且我可以覆盖 component.scss 中的样式。

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

关于css - 在 angular2 组件样式表中覆盖来自 Bootstrap 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42074844/

相关文章:

angular - 类型“订阅”上不存在属性 'subscribe'

html - 如何在屏幕中央显示一个css动画

html - 容器流体无法在 Chrome 上正确填充屏幕宽度

javascript - 最新包含 Blink 的浏览器(如 Chrome、Opera)中的奇怪滚动行为

html - 如何删除不需要的空白 css/html

html - Bootstrap 3 带有图标和旋转木马的导航栏

html - 将页脚文本居中对齐 - Bootstrap

jquery - 在所有标签上应用占位符?

javascript - 摆脱页面上的边框?

javascript - 我怎样才能等到某些东西不为空然后运行该函数