【问题标题】:Styling all Components Angular from styles.scss从 styles.scss 为所有组件设置 Angular 样式
【发布时间】:2021-04-30 10:48:47
【问题描述】:

是否可以在例如定义样式?适用于所有组件选择器的 styles.scss (app-componentA, app-componentB ...) ?

我知道我可以为每个选择器单独添加样式,但我担心将来添加新组件时会忘记它...

简而言之,我不想每次都重复代码。

有什么想法吗?

编辑: 我正在寻找一个解决所有 Angular 组件的“css-query”。所以某种通配符像

styles.scss
.app* { 
  margin-left: 20px; // will be applied to all DOM elements starting with app
}

【问题讨论】:

    标签: css angular


    【解决方案1】:

    在您的组件中

    @Component({
      selector: 'compA',
      templateUrl: './compA.component.html',
      styleUrls: ['./compA.component.css'],
      encapsulation:  ViewEncapsulation.None
    })
    

    【讨论】:

      【解决方案2】:

      尝试不封装:

      @Component({encapsulation: ViewEncapsulation.None})
      

      或全局关闭封装 或为 compA 和 compB 等所有组件添加一些类 或者在 style.scss 中写 compA, compB { /* some stiles */ }

      【讨论】:

      • 你能详细说明“没有封装”吗?第二个选项正是我想要避免的,因为我不想为每个组件添加特定的类...
      • @JohnDoe 我修正了我的答案以获得更多细节
      • 好的,谢谢!也许我的问题不清楚,但我仍然不明白我可以写什么确切的 css 来解决我项目中的所有组件......
      • @JohnDoe 没有封装所有样式都可以在任何地方工作(在 some.comp.scss 或 style.scss 中的 nvm)
      • 是的,谢谢我了解视图封装的工作原理,但我正在寻找适用于所有角度组件的通用 css
      猜你喜欢
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 2018-07-10
      相关资源
      最近更新 更多