- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以将自定义 CSS 摇动动画添加到 Material MatDialog(例如,如果您在 Form-Dialog 中输入了错误的信息)?
由于对话框是通过 MatDialog 服务实例化的,我不能直接向模板添加 ngClass(带有添加和删除摇动样式的条件)。
对话框创建如下所示:
constructor(private dialog: MatDialog) {
this.dialog.open(MyDialogComponent, {});
}
像这样的摇动样式(在 MyDialog 组件中):
:host#my-dialog {
&.shake-dialog {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both !important;
transform: translate3d(0, 0, 0)!important;
backface-visibility: hidden!important;
perspective: 1000px!important;
overflow: hidden !important;
@keyframes shake {
10%, 90% {
transform: translate3d(-1px, 0, 0)!important;
}
20%, 80% {
transform: translate3d(2px, 0, 0)!important;
}
30%, 50%, 70% {
transform: translate3d(-4px, 0, 0)!important;
}
40%, 60% {
transform: translate3d(4px, 0, 0)!important;
}
}
}
}
如您所见,我尝试通过 HostBinding 添加/删除摇动动画。我设法以这种方式动态添加/删除 shake-class 到我的对话框组件,但是,它没有任何效果,因为所有 webkit 样式都被覆盖了。在 Chrome 中检查:
尽管我添加了一个 ID 来增加特异性,但摇晃样式并未应用。这是由于 MatDialog 的性质造成的吗?
有什么办法可以让它发挥作用吗?还是我一开始选择了错误的方法?
最佳答案
您应该在自定义模块中声明对话框,其中使用了 NoopAnimations
(它禁用动画)。
禁用动画后,您可以覆盖叠加层。选择器是
mat-dialog-container.mat-dialog-container {}
关于css - Angular Material : Shake MatDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56426926/
我正在对我的应用程序进行单元测试。我是测试新手,因此需要您的帮助。 在我的应用程序中,我创建了一个使用 MatDialog (KDSDialogService) 的服务。我尝试过将许多导入替代方案、我
我正在对我的应用程序进行单元测试。我是测试新手,因此需要您的帮助。 在我的应用程序中,我创建了一个使用 MatDialog (KDSDialogService) 的服务。我尝试过将许多导入替代方案、我
现在可以在两个组件之间进行通信。但不知道如何通过事件发射器将用户(选定)输入的值作为对象从 MatDialog 组件传递到父组件。在这里,我想在单击提交按钮后将选定的选项值和文本区域值作为对象传递。
我是编码新手,也是 Angular 新手,所以我想我会寻求一些帮助。这是我的第一个问题,请耐心等待。 我想为 Angular Material Dialog Service 创建一个包装服务(我只是想
我想向我的应用程序添加一个对话框,但由于某种原因它没有显示。 对话框组件: import { Component, OnInit } from '@angular/core'; import {Mat
它不是作为停留弹出窗口打开,而是作为页面底部左对齐的 block 打开。 我搜索了类似的问题,找到了这个angular2 MdDialog is not appearing as a popup但也不
我正在尝试使用 MatDialog 并基于 this example我已经按如下方式实现了该对话框: import {Component, Inject, OnInit} from '@angular
我正在关注 here 中的文档.我可以将数据传递给对话框,但我没有从中获取数据。我在 .afterClose().subscribe() 上得到了未定义的结果。我错过了什么?我猜我需要在对话框的模板中
我目前正在做一个 Angular 项目。我使用 MatDialog来自 Angular Material 和 drag and drop 的 Angular 模块.我想防止对话框被拖到屏幕窗口之外。有
打开 MatSelect 时在常规页面中,可以通过 MAT_SELECT_SCROLL_STRATEGY 自定义滚动行为注入(inject) token 并使用 NoopScrollStrategy为
如果他空闲 20 分钟,我想提醒用户。所以,创建了一个服务。 它在桌面上运行良好,但在手机中它没有显示,有时如果屏幕在后台停留了几个小时,那么一旦我再次进入页面,注销对话框屏幕就会开始倒计时。 我的意
假设您有 Angular 服务,但没有 ProvideIn,因此它仅在某些组件及其子组件中可用。现在,这样一个组件打开了 MatDialog——是否可以在那里注入(inject)该服务? 正如我所见,
如何将数据发送到作为 ng-template 的 MatDialog? 模板 Open {{data?}} 组件 export class SomeComponent { @Vi
我目前正在使用一个组件,在该组件中单击按钮将打开一个弹出窗口来问候用户。我正在使用 Angular Material Dialog 打开弹出窗口,点击时将调用的组件代码块是 public openMa
完全改写的问题 : 我试图简化问题,因为我理解我最初写下它的方式非常复杂;以下是问题的更简单表示,尽管问题的表示略有不同。 我需要一种方法在顶级组件(即“app”组件)中创建服务的两个实例,并将每个实
是否可以将自定义 CSS 摇动动画添加到 Material MatDialog(例如,如果您在 Form-Dialog 中输入了错误的信息)? 由于对话框是通过 MatDialog 服务实例化的,我不
我已经使用 angular MatDialog 实现了一个模态对话框来代替 alert() 函数。一切正常,但对话框的定位。我无法设法将对话框放在页面的中央。该对话框始终出现在页面的左下角。 html
我已经阅读了几个答案,并且尝试了很多,但我似乎无法让它发挥作用。在我的 Angular 6 应用程序中,我尝试打开一个 MatDialog 但我收到此错误: ERROR Error: Expressi
我试图为重新定位策略中的对话框制作滚动条,但它对我不起作用。 const scrollStrategy = this.overlay.scrollStrategies.reposition(); co
谁能提供一个示例,说明如何将组件动态加载到 Material MatDialog 中? 我想做的是:我将为 MatDialog 配置数据提供一个组件类型,然后对话框将创建一个实例并将其放置在它的 ma
我是一名优秀的程序员,十分优秀!