【问题标题】:Why does the angular material design disappear when I add a custom angular class to a button?为什么当我向按钮添加自定义角度类时,角度材料设计会消失?
【发布时间】:2019-10-25 14:02:19
【问题描述】:

我正在尝试向我的按钮添加一个自定义 css 类指令,但每当我这样做时,角度材料设计就会消失,并且按钮会回到其默认的丑陋状态。如何确保我的自定义 css 类被添加到按钮而不删除 mat-button 效果?

<button 
  mat-button
  [class]="todoItems.completed ? 'delete': null"
  (click)="deleteTodo(todoItems._id)" 
  [disabled]="!todoItems.completed">
          <mat-icon >delete</mat-icon>
</button>

这是css

.delete:hover {
   color: red
}

我希望仅在完成属性为真时应用我的类,并且当该属性为真时,当我将鼠标悬停在删除按钮上时,删除按钮将变为红色。 悬停部分工作正常,但我遇到的问题是材料设计消失了,变成了按钮的默认样式

【问题讨论】:

  • 我们无法猜测 HTML 是什么。如果可能,请粘贴 CSS 代码和 sn-p
  • 您是否尝试使用ngClass 添加您的课程? angular.io/api/common/NgClass

标签: css angular responsive-design angular-material


【解决方案1】:

mat-button 在运行时将其自己的 css 类应用于&lt;button&gt;

当你在做[class]="todoItems.completed ? 'delete': null" 时,很难覆盖这些类。

要将您的类附加到现有的类中,您需要改用ngClass

【讨论】:

  • 感谢您告诉我解决方案。原来我只需要将 [class] 更改为 [ngClass]
猜你喜欢
  • 2017-12-21
  • 1970-01-01
  • 2015-10-16
  • 2015-07-28
  • 2017-12-08
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多