Angular Material DatePicker 日历显示在 Angular 模态后面
Angular Material DatePicker Calendar Shows Behind Angular Modal
我有以下简单代码:
<md-content>
<md-datepicker ng-model="startDate" md-placeholder="Enter date">
</md-datepicker>
</md-content>
填充正常,但是当您单击它时,我可以看到的日历会在 angular 模态 window 后面的阴影中弹出 window。
*我正在使用这个日期选择器:
https://material.angularjs.org/latest/demo/datepicker
我最终进入 angular-material.css 并将 Z-index 更改为 1151。
.md-datepicker-calendar-pane {
position: absolute;
top: 0;
left: 0;
z-index: 1151;
border-width: 1px;
border-style: solid;
background: transparent;
-webkit-transform: scale(0);
transform: scale(0);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); }
.md-datepicker-calendar-pane.md-pane-open {
-webkit-transform: scale(1);
transform: scale(1); }
就像 ACSteel 一样,您可以强制 CSS 将其带到您需要的位置,但是在模块的 css 文件中执行此操作并不是一个好的技术。
对 AngularMD 的任何更新都会覆盖您的更改,您最好在自己的 CSS 中强制使用 CSS 并在规则中添加“!important”。
祝你好运!
您只需要将其放入模态的 html 模板中即可:
<style>
.md-datepicker-calendar-pane{
z-index: 1200}
</style>
已接受的答案已过时。 @angular/material 5.0.0-rc0
使用成功:
.cdk-overlay-container{ z-index: 1200 !important; }
您需要指定 /deep/ 因为这是运行时生成的 class:
/deep/ .cdk-overlay-container{ z-index: 1200 !important; }
::ng-deep .cdk-overlay-container {
z-index: 1200 !important;
}
对于 Bootstrap 4 和 Angular 9 material 工作正常。
在组件 html 文件中添加此代码:
<style>
::ng-deep .cdk-overlay-container {
z-index: 2000;
</style>
我有以下简单代码:
<md-content>
<md-datepicker ng-model="startDate" md-placeholder="Enter date">
</md-datepicker>
</md-content>
填充正常,但是当您单击它时,我可以看到的日历会在 angular 模态 window 后面的阴影中弹出 window。
*我正在使用这个日期选择器: https://material.angularjs.org/latest/demo/datepicker
我最终进入 angular-material.css 并将 Z-index 更改为 1151。
.md-datepicker-calendar-pane {
position: absolute;
top: 0;
left: 0;
z-index: 1151;
border-width: 1px;
border-style: solid;
background: transparent;
-webkit-transform: scale(0);
transform: scale(0);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); }
.md-datepicker-calendar-pane.md-pane-open {
-webkit-transform: scale(1);
transform: scale(1); }
就像 ACSteel 一样,您可以强制 CSS 将其带到您需要的位置,但是在模块的 css 文件中执行此操作并不是一个好的技术。
对 AngularMD 的任何更新都会覆盖您的更改,您最好在自己的 CSS 中强制使用 CSS 并在规则中添加“!important”。
祝你好运!
您只需要将其放入模态的 html 模板中即可:
<style>
.md-datepicker-calendar-pane{
z-index: 1200}
</style>
已接受的答案已过时。 @angular/material 5.0.0-rc0
使用成功:
.cdk-overlay-container{ z-index: 1200 !important; }
您需要指定 /deep/ 因为这是运行时生成的 class:
/deep/ .cdk-overlay-container{ z-index: 1200 !important; }
::ng-deep .cdk-overlay-container {
z-index: 1200 !important;
}
对于 Bootstrap 4 和 Angular 9 material 工作正常。
在组件 html 文件中添加此代码:
<style>
::ng-deep .cdk-overlay-container {
z-index: 2000;
</style>