已知父级盒子的宽高,子级img宽高未知,想让img铺满父级盒子且图片不能变形。

已知父级盒子的宽高,子级img宽高未知,想让img铺满父级盒子且图片不能变形。

阅读 2k
2 个回答

css方法
object-fit:cover;

js方法


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            .div{width:400px;height: 400px;border:1px solid #ddd; overflow: hidden;}
            img{width: 100%;}
        </style>
    </head>
    <body>
        <div class="div" id="div">
            <img src="img/test.jpg" id="ele" />
        </div>
    </body>
    <script>
        var ele = document.getElementById("ele");
        var div = document.getElementById("div");
        ele.onload = function(){
            if(ele.naturalHeight < div.offsetHeight){
                ele.style.width = "auto";
                ele.style.height = "100%";
            }
        }
          
    </script>
</html>
img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题