在angular-cli.json中导入全局样式并将它们分别添加到每个组件中的每个css之间有什么区别?

时间:2018-04-16 20:58:40

标签: css angular bootstrap-4 angular-cli angular5

我在angular-cli.json "../node_modules/bootstrap/dist/css/bootstrap.min.css"中有样式。为什么当我删除这些行并添加到每个组件@import "{correct path to every directory/node_modules/bootstrap/dist/css/bootstrap.min.css}"中的每个css时,它不像以前一样工作?

2 个答案:

答案 0 :(得分:2)

来自styles.scssangular-cli.json中包含的样式在页面上全局工作,而在导入时 - 它们仅适用于特定组件。

话虽如此,它可能不适合你,因为bootstrap会为<html><body>元素添加一些样式,而你的组件也无法设置这些样式。

您的AppComponent定位器(app-root左右)很可能位于<body>内。它无法塑造父母的风格。

答案 1 :(得分:1)

Bootstrap应该在全局样式表中导入一次,然后可以在整个应用程序中使用bootstrap类/组件。

组件装饰器中导入的样式是封装的(默认情况下),应仅在给定组件内使用。当您尝试将Bootstrap导入所有组件时,生成的样式表会重复多次。