我如何改变mat-icon-button的大小?我的图标现在是24 px,我想把这个值增加到48 px。我用mat-icon作为一个按钮内容。我还注意到mat-icon-button刚刚硬编码了40 px/40 px的大小。
<button mat-icon-button color="primary">
<mat-icon class="material-icons">play_circle_filled</mat-icon>
</button>
我如何改变mat-icon-button的大小?我的图标现在是24 px,我想把这个值增加到48 px。我用mat-icon作为一个按钮内容。我还注意到mat-icon-button刚刚硬编码了40 px/40 px的大小。
<button mat-icon-button color="primary">
<mat-icon class="material-icons">play_circle_filled</mat-icon>
</button>
9条答案
按热度按时间iyfjxgzm1#
使用其中一个选项覆盖mat-icon的字体大小。(我将md-改为mat-,用于最新的AM版本)
对于"Angular 材料8 +"(Angular Material 8+),在元件样式表中添加以下内容:
Demo
对于以前的版本,添加::ng-deep以达到主机中的该类深度。宽度和高度也应该设置为按比例调整背景大小。
查看Demo
或者,如果要避免使用'::ng-deep',请使用'ViewEncapsulation. None'(但要谨慎使用):
然后,您可以直接从组件样式表中设置样式。
Demo
或者从主样式表styles.css中设置样式:
Demo
最后一个但并非最不重要的解决方案是,样式可以内联完成:
Demo
u1ehiz5o2#
带Angular 8+
调整大小为我工作:
不需要
::ng-deep
。Angular 15+更新:
对于新的MDC组件,它稍有不同。您也可以检查我的指令是否具有不同的图标按钮大小。https://github.com/btxtiger/mat-icon-button-sizes
9gm1akwq3#
在组件scss文件中(假定为sass):
您可以将按钮和图标都更改为任意大小。如果它们都设置为48,则图标周围将没有任何间距。您可能需要将按钮大小增加到64。
在html中:
gmol16394#
许多答案都不必要地复杂......以下是我使用Angular 9时的有效答案:
假设您希望图标为40x40:
HTML:
CSS:
不需要
ng-deep
或!important
。yi0zb3m45#
下面是一个使用styles.scss中定义的scss来解决任何封装问题的示例(在自定义主题中定义它也会起到同样的作用)。
下面是它的Stackblitz。
html格式
样式.scss
fhity93d6#
我使用这个scss风格在角12:
它不适用于小于17号的尺寸,但我不认为你会需要这个。希望它能帮助你:)
fd3cxomn7#
我知道这个问题是不久前提出的,但我喜欢使用
zoom
CSS属性,因为它是一个非常简单和优雅的解决方案,并避免了几个警告。确保选择器的特殊性足以覆盖角材质的样式。这有助于避免使用
!important
覆盖,这通常是不受欢迎的。vatpfxk58#
在Angular 9中完美工作:
文件:https://material.angular.io/components/button/examples
sh7euo9m9#
以上代码在angular2中运行良好