我有一个带有 Material 按钮菜单的 EntryComponent。 当我尝试使用::ng-deep 覆盖默认样式时,父组件中所有按钮组件的样式也会发生变化。
<style>
::ng-deep .mat-button{
max-width: 50px !important;
min-width: 45px !important;
height: 5em;
}
::ng-deep .mat-button-ripple mat-ripple{
max-width: 40px !important;
min-width: 20px !important;
}
</style>
我也尝试使用一个类来定位样式,但我猜它不像通常的 CSS 那样工作。
<style>
.actions ::ng-deep .mat-button{
max-width: 50px !important;
min-width: 45px !important;
height: 5em;
}
.actions ::ng-deep .mat-button-ripple mat-ripple{
max-width: 40px !important;
min-width: 20px !important;
}
</style>
请分享您的经验或知识。
入口组件
<button md-button [mdMenuTriggerFor]="menu" class="actions">
<md-icon>flash_on</md-icon></button>
<md-menu #menu="mdMenu">
<button md-menu-item>
<md-icon>autorenew</md-icon>
</button>
<button md-menu-item>
<md-icon>border_color</md-icon>
</button>
<button md-menu-item>
<md-icon>delete</md-icon>
</button>
<button md-menu-item>
<md-icon>perm_identity</md-icon>
</button>
<button md-menu-item>
<md-icon>payment</md-icon>
</button>
</md-menu>
PS:这不是前面提到的重复问题,因为我们能够全局设置 Material 元素的样式,但问题是如何通过 Id 或 Class 设置目标 dom 元素的样式。希望这消除了困惑
最佳答案
正如 Milad 已经回答的那样,只需要使用这种样式
<style>
:host /deep/ .actions{
max-width: 50px !important;
min-width: 45px !important;
height: 5em;
}
:host /deep/ .actions .mat-button-ripple mat-ripple{
max-width: 40px !important;
min-width: 20px !important;
}
</style>
关于angular - 使用 CSS 在 angular material 2 元素内按 Id 或 Class 定位特定元素样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46013873/