【发布时间】:2023-03-15 14:57:01
【问题描述】:
标题说明了大部分内容。 我的html:
<div class="wrap">
<div class="s-inner">
<figure>
<img>
</figure>
</div>
</div>
CSS:
.wrap{
max-width:500px;
max-height:200px;
background:red;
}
.s-inner{
position: relative;
margin: inherit;
padding:inherit;
display: -webkit-flex;
display: flex;
max-height: 100%;
max-width: 100%;
box-sizing:inherit;
margin:auto;
}
/* Inside */
.s-inner > figure{
display: block;
margin: 0 auto 0 auto;
box-sizing: border-box;
}
.s-inner > figure > img{
box-sizing: border-box;
max-width: 100%;
max-height: 100%;
}
如果您检查 .wrap div,您会注意到图像弹出并大于 div,如何修复图像以缩放 .wrap div 大小。Fiddle
【问题讨论】:
-
所以?这是默认行为。如果您不希望这样,您可以通过将
overflow; hidden添加到父级来“隐藏”,或者您可以使图像具有百分比高度。 -
考虑 CSS
object-fit属性:stackoverflow.com/a/34301817/3597276 -
@Michael_B 我不想使用它,因为 IE 和 Edge 不支持它