javascript - 如何将自动尺寸图像元素紧紧包裹在容器中?

标签 javascript html css

例如,我有一个保留纵横比的图像,即自动缩放

img {
    max-height:100%;
    max-width:100%;
}

我现在需要将其包含在一个容器中,用类似的东西将其完美包裹起来

.wrapper{
     height:100%;
     width:100%;
     background:pink; /*verify*/
 }

但是 wrapper 在拐 Angular 处留下了额外的空间。你怎么解决这个问题? HTML 就像

一样简单
<div class="wrapper">
    <img src="image.jpg"/>
</div>

这是代码片段:

img {
    max-height:100%;
    max-width:100%;
}

.wrapper{
    height:100%;
    width:100%;
    background:pink; /*verify*/
}
<div class="wrapper">
    <img src="https://picsum.photos/200/200"/>
</div>

最佳答案

divblock level element 。因此它跨越了可用的宽度。如果您希望包装元素环绕图像而不需要额外的空间,您可以将其显示属性设置为 inline-flex。这会将包装宽度设置为其内容的宽度和高度。

我在示例中设置了 2 个像素的额外填充,以可视化环绕效果。

.wrapper {
  padding: 2px;
  display: inline-flex;
  background-color: red;
}

.image {
  max-width: 100%;
  max-height: 100%;
}
<div class="wrapper">
  <img class="image" src="https://via.placeholder.com/300x400" alt="" />
</div>

关于javascript - 如何将自动尺寸图像元素紧紧包裹在容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61006925/

相关文章:

javascript - 在调整大小时重新计算高度

javascript - Node/ react 如何返回用 react 渲染的纯html并发送给客户端

javascript - 是否可以通过按 enter 从 HTML 表单中的一个控件移动到另一个控件?

javascript - jQuery - 在 iframe 内按钮的 onclick 事件中更改 iframe 高度

html - CSS 动画忽略 z-index

javascript - Peerjs 不工作..没有错误

javascript - 5 秒后 Jquery 显示按钮

jquery - 使用 jQuery 模拟 Windows 8 Live Tiles 动画。如何快速开始动画然后缓慢结束?

javascript - jQuery animate() 定位问题

html - 使用 Angular-Material 进行简单的 CSS 修改