【发布时间】:2019-05-18 13:47:13
【问题描述】:
我已经阅读了所有现有解决方案,其中图像可以填充包含的 div,但我还没有找到填充没有静态维度的 div 的解决方案,例如仅由 flex-grow 布置的 div。
目前图像会破坏我在容器上设置的flex-grow 比例。我希望 img 只填充 div 而不是拉伸 div。
我尽量不要内联样式。
是否有现有的 polyfill 或解决方案?
.container {
display: flex;
min-height: 300px;
width: 500px;
flex: 1;
}
.sub-container {
flex: 1;
display: flex;
flex-direction: row;
}
.sub-container > div {
flex-grow: 1;
}
.first-container {
background-color: blue;
}
.second-container {
background-color: yellow;
}
.second-container>img {
max-height: 100%;
max-width: 100%;
object-fit: scale-down;
}
<div class="container">
<div class="sub-container">
<div class="first-container">
A
</div>
<div class="second-container">
<img src="https://internationalbarcodes.net/wp-content/uploads/2017/04/QR%20code%20example.jpg" />
</div>
</div>
</div>
【问题讨论】:
-
你可以在css中使用图像作为背景图像而不是在html中使用img标签吗?
-
您能否澄清您的问题,因为您的代码完全按照它应该做的......
-
@rypskar URL 只是一个占位符,我打算从其他地方提供 URL。即作为我在反应中这样做的道具。
-
你可以从 react 中设置 CSS 属性,你可以直接在元素上使用一些 react 魔法或者设置样式