IE浏览器下inline-block元素中的img显示问题

最近在做项目时在ie浏览器上发现了一个问题,被display: inline-block包裹的img的最大宽度始终为图片原始大小,而被display: block包裹的img的最大宽度为父元素的宽度。如下图:
IE浏览器
图片描述

Chrome浏览器
图片描述

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>IE浏览器中的图片自适应问题</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        img{
            max-width: 100%;
        }
        .container{
            width: 500px;
            padding: 10px;
            border: 1px solid #f60;
            margin: 10px;
        }
        .inline-block{
            display: inline-block;
        }

    </style>
</head>
<body>
    <div class="container">
        <h2>IE下inlin-block的图片显示</h2>
        <div class="inline-block">
            <img src="https://car3.autoimg.cn/cardfs/product/g28/M02/C6/9F/1024x0_1_q87_autohomecar__ChsEfVvNn3CALbzCAAidpVCRMmU628.jpg" alt="">
        </div>
        <br>
        <br>
        <h2>IE下block的图片显示</h2>
        <div class="block">
            <img src="https://car3.autoimg.cn/cardfs/product/g28/M02/C6/9F/1024x0_1_q87_autohomecar__ChsEfVvNn3CALbzCAAidpVCRMmU628.jpg" alt="">
        </div>
    </div>
</body>
</html>
阅读 3.9k
1 个回答

这不是inline-block问题,这是因为你设置宽度的是container,但是inline-block没有设宽度,所以被图片撑开了,谷歌比较先进,能修复一些错误,ie就不行了,所以才这样,解决方法如下:

.inline-block{
    width:100%;
    display: inline-block;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题