angular - 改变覆盖容器的样式

标签 angular angular-material angular-material2 angular-cdk

我将 git 项目用于虚拟键盘 ( https://ngx-material-keyboard.github.io/demo/ )。我有一些问题让它在 450*250 像素的小型设备上运行。

最后,如果我使用开发工具直接在 Web 浏览器中修改它,我会在 css 中找到必要的更改。

现在我必须找到正确的位置来更改源。

将使用来自 angular2-material 的覆盖组件来可视化键盘。

如果我注释掉 cdk-overlay-container 中的位置,它会起作用:

.cdk-overlay-container {
/* position: fixed; */
z-index: 1000;

但我无法从我的 Angular 应用程序中覆盖这些。 有什么建议吗?

Screenshot of changes

最佳答案

UPDATED ANSWER

来自官方文档:

Styling overlay components

Overlay-based components have a panelClass property (or similar) that can be used to target the overlay pane.

您可以通过在全局 styles.css 中添加一个 css 类来覆盖默认对话框容器样式。例如:

.custom-dialog-container .mat-dialog-container {
    /* add your styles */
}

之后,您需要将 css 类作为 panelClass 参数提供给您的对话框:

this.dialog.open(MyDialogComponent, { panelClass: 'custom-dialog-container' })

阅读此 official documentation获取更多信息。


ORIGINAL ANSWER

在您的 component.css 中使用 ::ng-deep 来覆盖默认样式。

::ng-deep .cdk-overlay-container {
    /* Do you changes here */
    position: fixed; 
    z-index: 1000;
}

关于angular - 改变覆盖容器的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45610137/

相关文章:

angular - 无法让动画与 md-tab-nav-bar/md-tab-link 一起使用

Angular 2+ : Testing form with mat-slide-toggle - change event won't fire

javascript - 如何防止 Angular Material 垫菜单关闭?

css - 使用 Angular 2 Material 设计进行样式设计的最佳方式是什么

javascript - Angular 6 - Google Picker API 弹出窗口

Angular 6 Jwt拦截器

angular - 如何关闭 Angular 2 中的模式?

javascript - md-datepicker - 输入字段应为只读 - 不允许手动输入日期

Angular 2 Material 2 Sidenav 工具栏像抽屉导航一样折叠

angular - 注入(inject) MdDialogRef 的测试组件正在调用服务