html – 强制图像适合并保持纵横比

我想要一个图像来填充其容器宽度的100%,并且我希望它具有设置的max-heigth属性,所有这些都保持纵横比但允许丢失图像的任何部分.
img {
   max-height:200px;
   width:100%;
}

我知道使用background-size属性可以做类似的事情,但我想将其设为内联< img>标签.

我怎么能用CSS实现这个目标?还是javascript?

解决方法

您可以尝试使用CSS3 object-fit,并查看浏览器支持 tables.

CSS3 object-fit/object-position Method of specifying how an object (image or video) should fit inside
its Box. object-fit options include “contain” (fit according to aspect
ratio),“fill” (stretches object to fill) and “cover” (overflows Box
but maintains ratio),where object-position allows the object to be
repositioned like background-image does.

JSFIDDLE DEMO

.container {
  width: 200px; /*any size*/
  height: 200px; /*any size*/
}

.object-fit-cover {
  width: 100%;
  height: 100%;
  object-fit: cover; /*magic*/
}
<div class="container">
  <img class="object-fit-cover" src="https://i.stack.imgur.com/UJ3pb.jpg">
</div>

相关信息:

> Exploring object-fit ★ Mozilla Hacks
> Polyfill for CSS object-fit property

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些