通过 github 搜索 object-fit ie  ,  借鉴大佬兼容 ie 的经验。

 css : object-fit 兼容 ie 的解决方案_css


下载解压到文件夹 , 打开测试目录 , 查看 demo

css : object-fit 兼容 ie 的解决方案_横屏_02



css : object-fit 兼容 ie 的解决方案_html_03



使用 ie 打开demo , 查看显示效果 :

css : object-fit 兼容 ie 的解决方案_css_04



代码 :

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="../dist/polyfill.object-fit.css">
<style>
img {
width: 100%;
height: 35em;

margin: 10px 0;
border: 5px solid red;

object-fit: cover;
overflow: hidden;
}
</style>
</head>
<body>
<h1><code>object-fit: cover;</code></h1>
<img src="image.jpg">

<script src="../dist/polyfill.object-fit.js"></script>
<script>
// Call polyfill to fit in images
document.addEventListener('DOMContentLoaded', function () {
objectFit.polyfill({
selector: 'img',
fittype: 'cover'
});
});
</script>
</body>
</html>


通过 demo 可以发现 需要引入的文件  :polyfill.object-fit.css   和   dist/polyfill.object-fit.js  。

还需要 底部初始化 , 在 fittype 后 输入 object-fit  的类型。 即可实现对 ie 的兼容





以下是我个人的实践 : 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./polyfill.object-fit.min.css">
<title>响应式图片</title>
<style>
body{
margin: 0;
}
img{
height: 100vh;
width: 100%;
display: block;
object-fit: cover;
}
</style>
</head>
<body>

<picture>
<!-- 横屏 320px-->
<source media="(min-width: 320px) and (max-width: 640px) and (orientation: landscape)" srcset="./img/lx.png">

<!-- 竖屏 320px-->
<source media="(min-width: 320px) and (max-width: 640px) and (orientation: portrait)" srcset="./img/lx2.png">

<!-- 横屏 640px -->
<source media="(min-width: 640px) and (orientation: landscape)" srcset="./img/lx.png">

<!-- 竖屏 640px-->
<source media="(min-width: 640px) and (orientation: portrait)" srcset="./img/lx.png">

<!-- 默认 -->
<img src="./img/lx.png" alt="this is a picture">
</picture>


<script src="./polyfill.object-fit.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
objectFit.polyfill({
selector: 'img',
fittype: 'cover'
});
});
</script>
</body>
</html>


<!-- 解决图片下的白边
/* 第一种 display: block; */
/* 第二种 */
vertical-align:bottom;
/* 第三种 img的父级容器,添加属性overflow:hidden */
-->