首页 文章

命名空间角度材质样式

提问于
浏览
2

我正在尝试使用Angular 1.4.3和Angular-Material 1.0.5创建可重用的组件 . 想法是我们可以将这些组件集成到不同的应用程序中 .

但我在这里遇到的问题是Angular材质CSS将某些样式应用于通用元素,如html,body,因为消费应用程序的哪些样式被覆盖 .

为了更加清晰,请考虑一个示例应用程序A,它具有自己的“body”,“html”,“input”标签样式 . 这个应用程序将包括我的自定义组件的CSS和JS来获取我的可重用组件 . 在这样做时,应用程序A失去了自己的样式 . 我不能对应用A的样式做'!important',因为我不拥有它们 .

为了解决这个问题,我尝试将命名空间角度材质样式作为我的grunt构建过程的一部分 . 但这并没有真正解决这个问题,我的大多数角度材料指令似乎都没有起作用 .

我尝试检查角度材料github问题,但我没有看到适当的解决方案 .

https://github.com/angular/material/issues/6369

https://github.com/angular/material/issues/469

有没有办法正确命名角度材料样式?请帮忙 .

1 回答

  • 0

    不完全确定我是否理解正确,但在你自己的风格上使用 !important 应该覆盖由Ng Material设置的那些 .

    采取您链接的示例之一

    input {
      font-family: Tahoma !important;
    }
    

    但是,请记住仅在必要时才使用 !important . 就像在这种情况下,当你无法控制你需要覆盖的样式 .

相关问题