Angular “角度材质”对话框不需要的内联样式

Angular “角度材质”对话框不需要的内联样式,angular,angular-material,Angular,Angular Material,我想使用“角度材质”对话框并覆盖一些样式,而不在CSS中使用“!important” Angular Material使用以下内嵌样式注入cdk覆盖窗格: <div id="cdk-overlay-0" class="cdk-overlay-pane" style="max-width:80vw; pointer-events: auto; position: static;"> 是否可以配置角度材质,使其不添加这些内联样式?我认为您无法进行配置,但您可以使用:ng deep

我想使用“角度材质”对话框并覆盖一些样式,而不在CSS中使用“!important”

Angular Material使用以下内嵌样式注入cdk覆盖窗格:

<div id="cdk-overlay-0" class="cdk-overlay-pane" style="max-width:80vw; pointer-events: auto; position: static;">


是否可以配置角度材质,使其不添加这些内联样式?

我认为您无法进行配置,但您可以使用
:ng deep

例如:(假设您正在编写SCS)

甚至

/deep/ .cdk-overlay-pane{
  min-width: 90vw
}

如果您发现使用
无法逃脱!重要信息
没有其他方法,您可以使用
:is(.my custom class)
将其影响降至最低

例如:

:is(.my-custom-class) .cdk-overlay-pane{
  min-width: 90vw !important;
}
然后在代码中,使用
ngClass
控制
.my custom class

<div [ngClass]="{'my-custom-class': triggerOnDemand}">

WARE
triggerOnDemand
是您根据需要在组件中控制的变量

如果浏览器不支持
:is
,您可以使用
:any
,但它需要特定的浏览器支持,如
:-webkit any

有关更多详细信息,请访问MDN站点()


请注意,虽然deep可以工作,但不推荐使用()

当您提出问题时,这可能不可用,但现在可以在打开对话框时为min width指定一个空白值,这将阻止角材料注入80vw

this.dialog.open(DialogComponent, {
  maxWidth: ''
});
配置对象的文档可在此处找到:


我不确定指针事件或位置属性,但您可以使用各种配置选项来查找适合您的内容。

谢谢。但是特定性不能覆盖内联样式。只有重要的是我宁愿避免。
this.dialog.open(DialogComponent, {
  maxWidth: ''
});