英文:
mat-dialog changes css unexpectedly in Angular Material 15
问题
自 Angular Material 15 起,mat-dialog 的内容具有一些奇怪的 CSS 样式:
.mat-mdc-dialog-container .mdc-dialog__content {
color: var(--mdc-dialog-supporting-text-color, black);
}
.mat-mdc-dialog-container .mdc-dialog__content {
font-family: var(--mdc-dialog-supporting-text-font, "Arial");
line-height: var(--mdc-dialog-supporting-text-line-height, 14px);
font-size: var(--mdc-dialog-supporting-text-size, 14px);
font-weight: var(--mdc-dialog-supporting-text-weight, 500);
letter-spacing: var(--mdc-dialog-supporting-text-tracking, 1px);
}
这些 CSS 样式会导致每个基本文本的显示方式与应用程序的其余部分完全不同。对我来说不清楚这种行为是设计意图,还是一个 bug,或者是我在应用程序中做错了什么?
英文:
Since Angular Material 15, the content of the mat-dialog has some weird css:
.mat-mdc-dialog-container .mdc-dialog__content {
color: var(--mdc-dialog-supporting-text-color, black);
}
.mat-mdc-dialog-container .mdc-dialog__content {
font-family: var(--mdc-dialog-supporting-text-font, "Arial");
line-height: var(--mdc-dialog-supporting-text-line-height, 14px);
font-size: var(--mdc-dialog-supporting-text-size, 14px);
font-weight: var(--mdc-dialog-supporting-text-weight, 500);
letter-spacing: var(--mdc-dialog-supporting-text-tracking, 1px);
}
This css will cause every basic text to be displayed totally different than in the rest of the application.
For me it is not clear if this behaviour is by design, a bug or I do something wrong in my application?
答案1
得分: 0
以下是翻译好的部分:
这是我目前使用的解决方法,以防止对话框覆盖默认样式:
.mat-mdc-dialog-container .mdc-dialog__content {
color: inherit !important;
}
.mat-mdc-dialog-container .mdc-dialog__content {
line-height: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
letter-spacing: inherit !important;
}
英文:
This is the workaround I currently use, to prevent the dialog from overwriting the default styles:
.mat-mdc-dialog-container .mdc-dialog__content {
color: inherit !important;
}
.mat-mdc-dialog-container .mdc-dialog__content {
line-height: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
letter-spacing: inherit !important;
}
答案2
得分: 0
你正在使用自定义主题吗?在我的情况下,主题定义中缺少了typography
属性:
$theme: mat.define-light-theme((
color: (
primary: $primary-palette,
accent: $accent-palette,
warn: $warn-palette,
//border: $border-palette
),
typography: mat.define-typography-config(), // 这一行
density: 0,
));
添加了这个属性后,带有--mdc
前缀的CSS变量可用,对话框组件在我的应用中看起来很好。对我来说,它还修复了一些其他模块,比如Mat-Button。
英文:
Are you using a custom theme? In my case the missing typography
property in my theme definition was missing:
$theme: mat.define-light-theme((
color: (
primary: $primary-palette,
accent: $accent-palette,
warn: $warn-palette,
//border: $border-palette
),
typography: mat.define-typography-config(), // This line
density: 0,
));
After adding the property the css variables with the --mdc
prefixes are available and the application the dialog component looks good to me. For me it fixed some other modules like the Mat-Button as well.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论