Angular Material对话框内容中的自适应iframe

时间:2019-05-14 14:11:05

标签: css angular sass angular-material

我希望Angular Material对话框内容中的iframe为:

  1. 最大尺寸为560x315px
  2. 响应大小取决于父对话框容器。如果容器变得小于最大宽度
  3. 保持宽高比。

SourceComponent.ts

openIFrameDialog(): void {
  this.dialog.open(IFrameDialogComponent);
}

IFrameDialogComponent.html:

<div mat-dialog-title class="close">
  <button mat-icon-button (click)="onClose()" tabindex="-1">
    <mat-icon>close</mat-icon>
  </button>
</div>
<mat-dialog-content>
    <iframe width="560" height="315" src="[yt_video_url]" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</mat-dialog-content>

我也在 IFrameDialogComponent.scss中添加了此代码

mat-dialog-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

但没有运气,它在整个屏幕上展开,而不是在父容器上展开

关于如何实现上述要求的任何建议?

我真的很感激。

1 个答案:

答案 0 :(得分:0)

如何在css(IFrameDialogComponent.scss)中使用最大宽度,如下所示: max-width: 100%; max-height: 100%;