【问题标题】:How to hide Angular 9 background component for @media print while printing mat-dialog?如何在打印 mat-dialog 时隐藏 @media print 的 Angular 9 背景组件?
【发布时间】:2020-06-06 20:25:59
【问题描述】:

这是我的styles.css 文件,这里app-labour-value-estimate-print-layout 是一个mat-dialog 组件,它位于app-material-details 组件之上。当我尝试打印这个 mat-dialog 时,背景中的东西会弹出,所以app-root > * { display: none;} 这很有帮助。但是,当添加此代码时,任何其他组件都不会显示在打印中,因为它们嵌套在 app-root 中。如何在不受背景干扰的情况下打印根组件以及 mat-dialog 组件?

@media print {
  /*app-root > * {
    display: none;
  }*/
  app-footer  {
    display: none;
  }
  app-labour-value-estimate-print-layout {
    display: block;
  }
  app-material-details {
    display: block;
  }
}

【问题讨论】:

  • 尝试在媒体打印中将垫子对话框的宽度设置为 100vw,将高度设置为 100vh?
  • 谢谢,这在一定程度上奏效了。我的意思是尺寸增加了,但仍然有大约 1 英寸的边距,我从来没有提出任何这样的边距。滚动条也出现了。有什么解决办法吗?有没有办法在css中设置条件?

标签: javascript html angular ionic-framework


【解决方案1】:

在 media-print 中试试这个

.cdk-overlay-pane {
  width: 100%;
  max-width: none;
}

mat-dialog-container {
 width: 100vw;
 height: 100%;
 min-height: 100vh;
 padding: 0;
 margin: 0;
}

【讨论】:

  • 谢谢,这在一定程度上奏效了。我的意思是尺寸增加了,但仍然有大约 1 英寸的边距,我从来没有提出任何这样的边距。滚动条也出现了。有什么解决办法吗?有没有办法在css中设置条件?
  • 只有当您的内容在模态中很大时才会出现滚动条,
  • 这个添加 display: 块后,它的高度恢复到全屏。然而,宽度并没有按计划进行。左右两端仍有 1 英寸的间隙,并且对话框的某些部分从右端被切掉
  • @SubhrangshuAdhikary 我相信你可以自定义 css。但我已经回答了你关于如何实现它的问题。
  • 感谢您的支持,我还需要更新调用mat-dialog的函数参数将宽度调整为100vw。但是,我不希望在普通屏幕中使用该配置,而只希望在印刷媒体中使用该配置。对不同的类进行了很多调整,但这些类并没有解决,但它仍然可以正常工作。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 2017-10-01
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 2011-04-23
相关资源
最近更新 更多