【发布时间】:2021-07-27 06:42:27
【问题描述】:
我正在尝试将图像完全放入对话框窗口中,而不会溢出屏幕或在每一侧都出现滚轮。我希望对话框窗口永远不会填满整个屏幕,而是填满大部分屏幕(比如任一轴的 80%)。但我被困在永远不会自动调整大小以适合该框的图像上。
目前,如果图像的高度太大,我尝试的所有内容都会在右侧显示一个条形。
理想情况下,我希望有一个自动调整大小以适应屏幕的图像。
这是我的对话框 css
.full-width-dialog .mat-dialog-container {
// max-width: 80vw !important;
max-height: 80vh !important;
padding: 0;
display: flex;
flex-direction: column;
}
还有我的图片容器 css
.image-cont {
display: flex;
flex: 1 1 0;
img {
max-width: 100%;
max-height: 100%;
}
}
以及对话框的html模板。
<div class="image-cont">
<img
id="{{ data.id }}"
src="...SOME_IMAGE_LIBRARY___/id/{{ data.id }}/{{ data.width }}/{{ data.height}}"
/>
</div>
请注意,src 始终是比屏幕大得多的图像。
【问题讨论】:
-
您可以通过developer.mozilla.org/en-US/docs/Web/CSS/background-size 实现
background-size: cover; -
抱歉,我不太确定如何使用它?只是将
background-size: cover;添加到 img 或 image-cont 容器并没有真正做任何事情。 -
您必须将图像设置为
.image-cont包装器的背景图像。
标签: html css angular flexbox angular-material