如何使用角度材料密度?

Nic*_*ion 5 sass npm angular-material angular

材质创建了一个密度分量修改器(链接此处此处)。

我已经导入了材料/密度,并按照我的 scss 文件中的建议代码进行操作:

@use "@material/button";

.my-custom-button {
  // Sets button density scale to `-3`, i.e. button height to `24px`.
  @include button.density(-3);
}
Run Code Online (Sandbox Code Playgroud)

但出现找不到样式表的错误。我已经对网络进行了评分,但没有找到解决此问题的方法。

Jan*_*rju 6

对于 Angular 15,有这个指南https://material.angular.io/guide/theming#customizing-densis ,因此您可以在 scss 文件顶部添加使用

@use '@angular/material' as mat;`
Run Code Online (Sandbox Code Playgroud)

然后加

.my-custom-button {
  @include mat.button-density(-2);
}
Run Code Online (Sandbox Code Playgroud)

我注意到我需要将该类添加到上层元素而不是按钮本身。这可能是一些 css 选择器问题。所以让CSS选择器足够强大。

  • 另外,如果您没有像文档中那样使用主题,则可以使用 @include mat.all-component-densities(-2) (3认同)
  • 这是密度对每个 Material 组件起作用的方式(尽管它没有在任何地方指定),遗憾的是 Material v15 是一团糟,用户被迫采取这样的解决方法。 (2认同)